控件区别

 当 ASP.NET 网页执行时,会检查标注有无 runat  属性,如果标注没有设定,那么 Html 标注就会被视为符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果 Html 标注有设定 runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将 Html 服务器控件的执行结果转换成 Html 标注,然后当成字符串流发送到客户端进行解释

区别:

    1. 事件处理模型不同,Html 标注和 Html 服务器控件的事件处理都是在客户端的页面上,而 Asp.net 服务器控件则是在服务器上:                                                                                   <input id="Button4" type="button" value="button" runat="server"/>是 Html 服务器控件,此时我们点击此按钮,页面不会回传到服务器端,原因是我们没有为其定义鼠标点击事件。
          <input id="Button4" type="button" value="button" runat="server"  />我们为 Html 服务器控件添加了一个 onserverclick 事件,点击此按钮页面会发回服务器端,并执行 test(object sender, EventArgs e)方法。
          <asp:Button ID="Button2" runat="server" Text="Button" />是 Asp.net 服务器控件,并且我们没有为其定义 click,但是我们点击时,页面也会发回到服务器端。
    2. html服务器控件被封装的较少,而web服务器控件则包装的很严实,比如在服务器端访问页面控件的时候,html服务器控件的访问习惯基本没有改变(通过ID .value的方式获取值),而web服务器控件的属性则改变了(通过ID.Text的方式获取)
    3. 在含有html服务器控件的页面是这个样子的(借助于客户端脚本进行表单数据的提交):

    4. 在标准的服务器控件里页面是这个样子的(直接将<asp:button解析为submit按钮来提交表单数据):







posted @ 2011-03-06 17:01  麻将我会  阅读(314)  评论(1编辑  收藏  举报