ASP.Net 4.0中新增23项功能
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
这个用户控件包含了textbox2 <asp:TextBox ID="TextBox2" ClientIDMode="Static" runat="server"></asp:TextBox> 这个代码将产生下面的HTML:
如果我们移除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为 Label1的label控件 ,它被绑定在 ItemID 列上。 它的ID将会是: ID= GridView1_Label1_200。 如果我们用数据绑定控件之外使用web控件,设置ClientIDMode等于 Predictable:
你可以看到webcontrols在一个面板输出和另外一个再面板以外输出。
它将产生所有web控件的ID,是panel的页面的ID加上子控件的ID。 Inherit: WEB控件默认是继承父容器的ID。 控件能覆盖它父控件的属性。 所以我能为ClientModeID设置不同 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |