每个人都知道在创建asp.net页面时所有用户控件的ID都会发生变化。
<div id="ID-value" runat="server"></div>
变为:
<div id="ct100$ID-value"></div>
这可能是我认为的痛苦,特别是当你尝试将对象绑定到javascripts时。 如此。
有没有办法获得正确的ID,因为它显示在html页面中?这样我可以手动将此对象绑定到java脚本? (换句话说:我想要“ct100 $ .....”) 谢谢!
答案 0 :(得分:5)
您可以在javascript中执行以下操作
document.getElementById('<%=ID-value.ClientID%>')
或在jQuery中
$('#<%=(ID-value).ClientID%>')
这样做更好,因为您可以直接使用代码隐藏中的实际ID来访问元素。
答案 1 :(得分:3)
如果您使用的是ASP.net 4.0或更高版本,则可以尝试将ClientIDMode设置为静态 - 这将阻止ASP由ASP.net编写(但不会为控件提供唯一的ID)包含在绑定多行的其他控件中。)