ClientID、UniqueID 可能不是最终结果

作者:vkvi 来源:千一网络(原创) 日期:2013-5-30

ASP.NET 控件的 ID 不一定代表最终输出到客户端时 HTML 元素的 id,一般我们用 ClientID 指示 HTML 元素的 ID。

但是请记住 ClientID 受环境的影响,它不表示最终 HTML 元素的 id,而表示根据当前环境下计算出来的 HTML 元素的 id。

比如

两次输出的 c.ClientID 分别为 cftea、YunTong,而 HTML 元素的 id 是参照后面一个来的。

上面的例子比较简单,实际上我们如果又在母版中、又在动态加载控件,情况要复杂得多。我就遇到过一个怪现象,到目前我都不敢相信,鉴于代码太复杂就不贴出来了,只是大家再遇到这样的怪现象的话,可以参考:

就是,我先设置了用户控件的 ID,在用户控件代码中,如果我读取了其中某一控件的 ClientID,哪怕只是多一句 string s = _label.ClientID,那么控件输出为 HTML 元素时,其 id 就没有层级关系,也就是说没有前面的母版的 id、GridView 的 id 作为前缀。

你前面那位网友看了:BUG 不断 Mozilla 再次推迟火狐浏览器 3.1 版发布

▲▲▲嘿,欢迎转载传播本站原创文章,尽量保留来源噢。▲▲▲

文章评论
标题:必填
内容:
本站永远终止与捏造“罪名”不支付广告费的某度联盟合作。
vkvi
vkvi

作者简介: vkvi,致力于 .NET Web 开发、移动开发的技术推广,在 .NET、SQL Server、Windows Server 等方面有深入研究和丰富经验,10 年间共计撰写文章 4000 余篇。 主持金融、国土、农业、电商等多个行业项目执行, 推行“技术提升生产力、人心决定成功率”的管理理论。 联系他