HTML 服务器控件
HTML 服务器控件属于 HTML 元素(或采用其他支持的标记的元素,例如 XHTML),它包含多种属性,使其可以在服务器代码中进行编程。默认情况下,服务器上无法使用 ASP.NET 网页中的 HTML 元素。这些元素将被视为不透明文本并传递给浏览器。但是,通过将 HTML 元素转换为 HTML 服务器控件,可将其公开为可在服务器上编程的元素。
HTML 服务器控件的对象模型紧密映射到相应元素的对象模型。例如,HTML 属性在 HTML 服务器控件中作为属性公开。
页中的任何 HTML 元素都可以通过添加属性 runat="server" 来转换为 HTML 服务器控件。在分析过程中,ASP.NET 页框架将创建包含 runat="server" 属性的所有元素的实例。若要在代码中以成员的形式引用该控件,则还应为该控件分配 id 属性。
页框架为页中最常动态使用的 HTML 元素提供了预定义的 HTML 服务器控件:form 元素、input 元素(文本框、复选框、“提交”按钮)、select 元素,等等。这些预定义的 HTML 服务器控件具有一般控件的基本属性,此外每个控件通常提供自己的属性集和自己的事件。
HTML 服务器控件提供以下功能:
可在服务器上使用熟悉的面向对象的技术对其进行编程的对象模型。每个服务器控件都公开一些属性 (Property),您可以使用这些属性 (Property) 在服务器代码中以编程方式来操作该控件的标记属性 (Attribute)。
提供一组事件,您可以为其编写事件处理程序,方法与在基于客户端的窗体中大致相同,所不同的是事件处理是在服务器代码中完成的。
在客户端脚本中处理事件的能力。
自动维护控件状态。在页到服务器的往返行程中,将自动对用户在 HTML 服务器控件中输入的值进行维护并发送回浏览器。
与 ASP.NET 验证控件进行交互,因此您可以验证用户是否已在控件中输入了适当的信息。
数据绑定到一个或多个控件属性。
支持样式(如果在支持级联样式表的浏览器中显示 ASP.NET 网页)。
直接可用的自定义属性。您可以向 HTML 服务器控件添加所需的任何属性,页框架将呈现这些属性而不会更改其任何功能。这允许您向控件添加浏览器特定属性。