模板页中用了服务器控件,js中获取不了ID的问题解决

mac2024-05-20  34

 

在项目中遇到个很奇怪的问题,同样是使用服务器控件,生成html后,第一个页面的id是正确的,第二个生成的id却是乱的:

 

↑↑↑页面上使用的服务器控件

 

↑↑↑网页上看第一个页面id是正确的

 

↑↑↑网页上看第二个页面id和name都是随机生成的

 

后来查资料发现是因为第二个页面使用了.Master母版页,母版页下使用服务器控件id会被改变的,但是如果我们必须要用到服务器控件,且js中需要调用怎么办呢?

//<%=控件ID.ClientID %>可以得到生成后的服务器控件名 var element = document.getElementById("<%=控件ID.ClientID %>");

 

如果是单独的js中引用呢?参考:关于在单独的 Js文件中无法使用 <%= %> 的原因及解决方案

<script type="text/javascript"> var element = "#<%= 服务器控件ID.ClientID%>";//在引用js前声明要调用的服务器控件 </script> <script type="text/javascript" src="../Scripts/独立的js文件.js"></script> //单独js中调用示例 $(element).click();

 

最新回复(0)