快速业务通道

ASP.Net 4.0中新增23项功能

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-07-03

<head>
<meta name="description" content="this is meta description "  />
<meta name="keywords" content="this is a meta  keyword" />
</head>

19、Generating Client IDs:

web控件的客户端ID是根据父控件ID动态的产生。 所以,如果你在一个用户控 件中使用textbox,我们必须查看为它生产什么样ID,才能在客户端的脚本中直接 使用。

有时这些是动态的改变用户控件的名称也更改它的子控件ID。在asp.net 4.0 中,这个问题是可以由页面的ClientIDMode属性解决。它有如下可能的值: AutoID , Static, Predictable 和Inherit。

AutoID:

是webpage 的默认值,功能和以前 ASP.NET的版本一样。

Static:

为控件设置一个静态的ID,所以我们不需要当心父控件的ID,我们也能使用 javascript引用它。

例如一个用户控件里面的 textbox ,它外面胡一个ClientIDMode 设置为 static

<asp:TextBox ID="textbox1" runat="server"  clientIDMode="Static"></asp:TextBox>
<uc1:WebUserControl ID="WebUserControl1"  runat="server" />

这个用户控件包含了textbox2

<asp:TextBox ID="TextBox2" ClientIDMode="Static"  runat="server"></asp:TextBox>

这个代码将产生下面的HTML:

<input name="ctl00$MainContent$textbox1" type="text"  id="textbox1" />
<input name="ctl00$MainContent$WebUserControl1$TextBox2"  type="text" id="TextBox2" />

如果我们移除ClientIDMode="static" ,输出胡HTML将会是:

<input name="ctl00$MainContent$textbox1" type="text"  id="MainContent_textbox1" />

它将产生象以前asp.net版本的textbox的ID

Predictable:

如果gridview 或者listview控件中我们设置ClientIDMode的值为Predictable ,它将会串连控件ID和Gridview的ID ,column的值在ClientIDRowSuffiex 属性 上提到:

Gridview ID ="GridView1"
ClientIDMode="Predictable"
ClientIDRowSuffix="ItemID"

如果在gridview的模板列中的有一个ID为 Label1的label控件 ,它被绑定在 ItemID 列上。

它的ID将会是: ID= GridView1_Label1_200。

如果我们用数据绑定控件之外使用web控件,设置ClientIDMode等于 Predictable:

<asp:TextBox ID="TextBox1" runat="server"  ClientIDMode="Predictable"></asp:TextBox>
<asp:Panel ID="panel1" runat="server">
<asp:TextBox ID="TextBox2" runat="server"  ClientIDMode="Predictable"></asp:TextBox>
</asp:Panel>

你可以看到webcontrols在一个面板输出和另外一个再面板以外输出。

<input name="ctl00$MainContent$TextBox1" type="text"  id="MainContent_TextBox1" />
<div id="MainContent_panel1">
<input name="ctl00$MainContent$TextBox1" type="text"  id="MainContent_TextBox1" />
</div>

它将产生所有web控件的ID,是panel的页面的ID加上子控件的ID。

Inherit: WEB控件默认是继承父容器的ID。  控件能覆盖它父控件的属性。 所以我能为ClientModeID设置不同

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号