asp.net是.net framework的web分支。.net framework完全产生于面向对象的类的层次结构,涵盖windows操作系统的所有编程问题。WEB应用程序由页面组成,用户从服务器请求这些页面,然后服务器对页面进行处理,以HTML代码的形式返回。对被请求的资源的处理方式因服务器而不同。如果资源具有.aspx扩展名,IIS则委派asp.net运行库系统进行处理。 ……
asp.net是.net framework的web分支。.net framework完全产生于面向对象的类的层次结构,涵盖windows操作系统的所有编程问题。WEB应用程序由页面组成,用户从服务器请求这些页面,然后服务器对页面进行处理,以HTML代码的形式返回。对被请求的资源的处理方式因服务器而不同。如果资源具有.aspx扩展名,IIS则委派asp.net运行库系统进行处理。
asp.net运行库将被请求的.aspx页面的源代码转换为从page基类继承的.net framework类的实例。总之,正在运行的asp.net页面是一个对象,其中的部分组件(即服务器端控件)也是对象。
任何元素都可以通过ID进行识别,并为其编写代码。页面中所有的元素都是真正的组件而不仅仅是可解析的文本,使此模型具有灵活且功能强大的可扩展性。
runat可用在:一、服务器控件:
(包括system.web.ui.htmlcontrols和system.web.ui.webcontrols)
二、全页标记:
<title>,<link>,<body>,<span>,<div>,<font>,<iframe>如:
<title id="thetitle" runat="server"/>
<body id="thebody" runat="server"/>
<script runat="server">
void page_load(object sender, eventargs e){
thetitle.innertext = "pro asp.net (ch 01)";
thebody.attributes["bgcolor"] = "yellow";
}
</script>
三、Meta标记:
由于META标记没有结束标记。如:
<meta id = "meta1" runat="server" http-equiv="refresh"/>
<script runat="server">
void page_load(object sender, eventargs e){
meta1.Attributes["content"] = "4;URL=http://www.asp.net";
}
</script>
生成:<meta id="meta1" http-equiv="refresh" content="4;URL=http://www.asp.net"></meta> 四、未知标记:
<person id = "dinoe" runat=server/>
<script runat="server">
void page_load(object sender, eventargs e){
dinoe.attributes["FavoriteFood"] = "T-bone steak";
}
</script>
生成:<person id="dinoe" FavoriteFood = "T-bone steak"></person>
参考:Programming Microsoft ASP.NET[Dino Esposito 著] / 精通ASP.NET程序设计[罗兵等译]