HTML控件是ASP.NET所提供的控件(亦称为Server控件),是在服务器端执行的组件,可以产生标准的HTML文件。一般说来,标准的HTML标签无法动态控制其属性、使用方法、接收事件,必须使用其他的程序语言来控制标签,这对于使用ASP程序设计来说很不方便,而且会使ASP程序比较杂乱。ASP.NET在这方面开发了新的技术,即将HTML标签对象化,使程序(如Visual Basic.NET、C#…)可以直接控制HTML标签,对象化后的HTML标签称之为HTML控件。
HTTP控件比HTML标签多了两个属性:
· ID属性:表示程序以此属性来控制和操作对象,对象名称不可以重复。
· Runat属性:表示对象在服务器端执行,所有的HTML控件都必须加上这个属性。如果HTML控件对象在程序执行时不需要由程序控制,则可省略ID属性。
HTML标签在ASP.NET网页内执行时,ASP.NET会查看HTML标签内是否有runat属性,若是没有,则当作一般HTML标签字符串,送往客户端的浏览器执行解读。若是有runat属性,则表示该标签已经是对象化的标签,则会由ASP.NET的Page对象将该对象化的标签由.NET共享对象类库中载入,使ASP.NET程序能够予以控制,当执行完毕之后再转换成HTML标签与一般的HTML标签一起下载到客户端的浏览器进行解析执行。
HTML控件的常用属性
InnerHtml/InnerText. 此属性可以设置控件要显示的文字。
InnerHtml:显示文字并执行HTML标签功能。
InnerText:不执行HTML标签功能而只显示所有文字字符串。
范例
在网页程序中应用HTML控件的InnerHtml与InnerText属性。 程序代码:
以下是引用片段:
01<html>
02 <formrunat=”server”>
03<buttonid=”bl”runat=”server”onserverclick=”bl—click”/><p>
04<spanid=”s1”runat=”server“/><br>
05<spanid=”s2”runat=”server”/>
06 </form>
07<scriptlanguage=“vb”runat=”server”>
08 subpage—load(senderasobject,easeventargs)
09 b1.innertext=”请按我”
10 s1.innerhtml=”凯际资讯” 。
11 s2.innertext=”凯际资讯工作室”
12 endsub
13 subb1click(senderasobject,easeventargs)
14 s1.innerhtml=”<b>ASP.NET</b>”
15 s2.innertext=”<b>ASP.NET</b>”
16 endsub
17 </script>
]8 </html>
本程序的说明如下:
· 第2-6行:建立HTML控件中的各组件,如<button>、<span>。
· 第3行:OnServerClick属性是Button对象支持的事件,当用户单击按钮对象时会被触发,设置此属性表示当发生OnServerClick事件时,要执行哪一个事件程序(本程序是bl click)。
· 第7行:声明以下的程序是在服务器端执行的Script程序。
· 第8-12行:声明一个网页对象加载的子程序(page load),主要内容是使用HTML控件对象的InnerText与InnerHtml属性显示文字。
· 第13-16行:bl—click事件程序,声明对象类型变量Sender与事件参数e,Sender参数的功能是指哪个对象发出事件,e参数的功能则表示发生事件时的相关信息,Span控件用来显示文字。 每一个事件程序中都要加入(Sender As Object,E As Eventargs)的声明。 page_load子程序不需要调用,在网页加载控件时会自动执行。