服务器控件的代码在服务器端解释执行,生成根据用户的浏览器而定的html元素。
客户端控件由客户端浏览器解释执行。
服务器控件需要回发执行,当首次打开页面时,需初始化。
服务器端控件是由runat属性指示的,runat的值有且仅为一值"server"。
通过添加runat属性,一般的HTML控件可以被很方便地转换到服务器端运行,下面是一个简单的例子:
<input type="text" id="txtLastName" size="40" runat="server"/>
可以通过id属性中指定的名字,我们可以引用程序中的控件,可以通过编程的方式(在后台代码中)设置属性和获取值。因此,服务器端处理方式有较大的灵活性。
但是,这种灵活性是有一定代价的。每种服务器端控件都会消耗服务器上的资源。另外,除非控件、网页或应用程序明确地禁止view state,控件的状态时包含在view state的隐藏域中,并在每次回送中都会被传递,这回引起严重的性能下降。