在实际开发过程中,我们会把一些控件放在容器中,这样生成出来的页面上容器中的控件id就会自动生成前缀+控件id,如果不注意就会导致js获取的时候出现错误。
通过网上查到的资料可以用document.getElementById("<%=btn.ClientID %>")来动态的获取容器中变动的控件id(btn是本来控件的id,btn.ClientID是变化之后的控件id)。
但是如果把该代码放在<head runat="server">中执行,就会报错(控件包含代码块(即 <% ... %>),因此无法修改控件集合。)。
通过相应的文档得出结论是<% %>不能在runat="server"中,博主实际中用到的解决方法是1.
解决方法:
1、把<head>节点中的runat="server"去掉
2、js不要写在<head>节点中