Asp.Net 4.0 新特性,輸出更純淨的Html代碼 ClientIDMode,ViewStateMode等
1. 在Asp.Net 4.0 中我們可以控制輸出html中的對象id的形式了,之前我們常常看到類似這樣的id
ctl00_MainContent_txtAutoID
這在用戶端控制時很不方便,也沒有多少實質的意義
現在我們可以通過設定控制項的ClientIDMode修改clientId的輸出形 式,例如下面代碼:
view source
print?
1 |
< asp:TextBox ID = "txtPredictable" runat = "server" ClientIDMode = "Predictable" ></ asp:TextBox > |
2 |
< asp:TextBox ID = "txtAutoID" runat = "server" ClientIDMode = "AutoID" ></ asp:TextBox > |
3 |
< asp:TextBox ID = "txtInherit" runat = "server" ClientIDMode = "Inherit" ></ asp:TextBox > |
4 |
< asp:TextBox ID = "txtStatic" runat = "server" ClientIDMode = "Static" ></ asp:TextBox > |
將分別輸出
view source
print?
1 |
< input name = "ctl00$MainContent$txtPredictable" type = "text" id = "MainContent_txtPredictable" /> |
2 |
< input name = "ctl00$MainContent$txtAutoID" type = "text" id = "ctl00_MainContent_txtAutoID" /> |
3 |
< input name = "ctl00$MainContent$txtInherit" type = "text" id = "MainContent_txtInherit" /> |
4 |
< input name = "ctl00$MainContent$txtStatic" type = "text" id = "txtStatic" /> |
AutoID: 自動輸出和之前版本輸出的clientID一樣
Static:輸出和server端指定的id一樣的id
Predictable: 對於dataGrid,listView特別有用,使ClientID值格式象clientIDrowsuffix一樣;
Inherit:這個 值指定控制項象它的父物件一樣產生ID,即我們常說的繼承。
2. ASP.NET4.0 提供了一個叫做 ViewStateMode 的新屬性,這個屬性可以單獨設定控 件的檢視狀態。在以前版本的 ASP.NET 中,控制項的視圖只有在 Page 的 ViewState 啟用的前提下才可以單獨控制。在 ASP.NET4.0 中,控制項的檢視狀態可以單獨設定了,也就是說,即使頁面的檢視狀態沒有啟用,控制項依然可以啟用檢視狀態。
ViewStateMode 屬性有三種取值:
Inherit:檢視狀態從父控制項繼承;
Enabled:即使父控制項的檢視狀態沒有啟用,也啟用該控制項的檢視狀態;
Disabled: 即使父控制項的檢視狀態啟用了,也禁用此控制項的檢視狀態。
3. CheckBoxList和RadioButtonList,以及Menu控制項都支援使用ul或者ol輸出html,這個很簡單知道有這麼回事,用的時候 去用就好了
Asp.net 新特性相關閱讀:
1. 從 頁面標記<%%>說起
2. Asp.Net 4.0 中可以用自訂的Provider做OutputCache 了
3. SEO 增強支援MetaKeywords,和MetaDescription,RedirectPermanant
4. SEO 增強之URL Routing
5. 輸 出更純淨的Html代碼,ViewStateMode和ClientIDMode,CheckBoxList等