控件区别
时间:2011-03-06 来源:麻将我会
当 ASP.NET 网页执行时,会检查标注有无 runat 属性,如果标注没有设定,那么 Html 标注就会被视为符串,并被送到字符串流等待送到客户端,客户端的浏览器会对其进行解释;如果 Html 标注有设定 runat="server" 属性,Page 对象会将该控件放入控制器,服务器端的代码就能对其进行控制,等到控制执行完毕后再将 Html 服务器控件的执行结果转换成 Html 标注,然后当成字符串流发送到客户端进行解释
区别:
- 事件处理模型不同,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,但是我们点击时,页面也会发回到服务器端。
- 在含有html服务器控件的页面是这个样子的(借助于客户端脚本进行表单数据的提交):
- 在标准的服务器控件里页面是这个样子的(直接将<asp:button解析为submit按钮来提交表单数据):
相关阅读 更多 +