Asp.Net 4.0 新特性,输出更纯净的Html代码 ClientIDMode,ViewStateMode等

1. 在Asp.Net 4.0 中我们可以控制输出html中的对象id的形式了,之前我们常常看到类似这样的id
ctl00_MainContent_txtAutoID
这在客户端控制时很不方便,也没有多少实质的意义
现在我们可以通过设置控件的ClientIDMode修改clientId的输出形式,例如下面代码:

1
2
3
4
<asp:TextBox ID="txtPredictable" runat="server" ClientIDMode="Predictable"></asp:TextBox>
    <asp:TextBox ID="txtAutoID" runat="server" ClientIDMode="AutoID"></asp:TextBox>
    <asp:TextBox ID="txtInherit" runat="server" ClientIDMode="Inherit"></asp:TextBox>
    <asp:TextBox ID="txtStatic" runat="server" ClientIDMode="Static"></asp:TextBox>

将分别输出

1
2
3
4
<input name="ctl00$MainContent$txtPredictable" type="text" id="MainContent_txtPredictable" />
    <input name="ctl00$MainContent$txtAutoID" type="text" id="ctl00_MainContent_txtAutoID" />
    <input name="ctl00$MainContent$txtInherit" type="text" id="MainContent_txtInherit" />
    <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等

posted @   玉开  阅读(9230)  评论(13编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
历史上的今天:
2008-05-22 分布式缓存系统Memcached简介与实践[转]
2008-05-22 使用t-sql从身份证号中提取生日
2008-05-22 你知道在word中如何将段落标记替换成其他字符吗?
2007-05-22 数据源自给自足的Repeater
点击右上角即可分享
微信分享提示