- 现象描述
ASP.NET前台页面代码如下:
<asp:TextBox ID="relator" runat="server" Width="200"></asp:TextBox>
在javascript中调用代码如下:
var relationer = $("#relator").val();
经过测试可以正常获得relationer 的值,可是将页面加入母版页后,无法获得relationer的值。
- 问题分析
是因为,加入母版页后,将html页面的控件ID自动重命名了,所以,通过ID=relationer没办法再找到元素控件。 - 解决方案
在母版页使用ClientIDMode="Static"属性,禁止子页面自动重命名,仍然使用原来的静态ID。
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server" ClientIDMode="Static">
</asp:ContentPlaceHolder>