Welcome 微信登录

首页 / 网页编程 / ASP.NET / Asp.Net 4.0新特性,输出更纯净的Html代码 ClientIDMode,ViewStateMode等

Asp.Net 4.0新特性,输出更纯净的Html代码 ClientIDMode,ViewStateMode等2011-08-28 博客园 玉开1. 在Asp.Net 4.0 中我们可以控制输出html中的对象id的形式了,之前我们 常常看到类似这样的id

ctl00_MainContent_txtAutoID

这在客户端控制时很不方便,也没有多少实质的意义

现在我们可以通过设置控件的ClientIDMode修改clientId的输出形式,例如下 面代码:

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>

将分别输出

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,这个很简单知道有这么回事,用的时候去用就好了.