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程式設計[羅兵等譯]