当ASP.NET 网页执行时,会检查标注有无Runat 属性。如果标注没有设定这个属性,那么该标注就会被视为字符串,并被送到字符串流等待送到客户端的浏览器进行解译。如果标注有设定Runat="Server" 属性,那么就会依照该标注所对应的HTML 控件来产生对象,所以ASP.NET对象的产生是由Runat 属性值所决定的。当程序在执行时解析到有指定Runat="Server" 属性的标注时,Page 对象会将该控件从.NET 共享类别库加载并列入控制架构中,表示这个控件可以被程序所控制。等到程序执行完毕后再将HTML 控件的执行结果转换成HTML 标注,然后送到字符串流和一般标注一起下载至客户端的浏览器进行解译。
了解HTML 控件的动作原理后,下表列出指定HTML 标注的Runat 属性时,所对应的HTML 控件:
HTML 控件的使用和HTML 标注使用的方法差不多,只要在使用的时候加上Id 以及Runat 这两个属性即可。我们可以选择下列两种风格来使用HTML 控件:
<标注Id=控件名称Runat="Server" 属性1="值" 属性2...>所要显示的文字 </标注> 或 <标注Id=控件名称Runat="Server" 属性1="值" 属性2.../>
以HtmlButton 为例,第二种用法如果没有撰写所要显示的文字,则可以在网页被加载发生Page_Load 事件时来设定初始值,如下范例所示:
<html> <Form Runat="Server"> <Button Id="Button1" Runat="Server"/> </Form> <Script Language="VB" Runat="Server"> Sub Page_Load(Sender As Object, e As EventArgs) Button1.InnerText="按钮一" End Sub </Script> </html> 若使用其它如<DIV>、<Span> 或<Font> 没有显示于上述列表中的标注,ASP.NET 则以HtmlGenericControl 类别来支持。以下为HTML 控件的架构图:
|