我的aspx页面上有一个隐藏字段,我使用母版页。 不使用母版页一切都很好,隐藏字段的名称属性是正确的。
<asp:HiddenField ID="apiversion" ClientIDMode="Static" runat="server" />
渲染后,结果html为;
<input type="hidden" name="apiversion" id="apiversion" value="v0.01">
但是如果使用masterpage那么结果html就像;
<input type="hidden" name="ctl00$ContentPlaceHolder1$apiversion" id="apiversion" value="v0.01">
但是我必须使用masterpage并且需要name属性作为'apiversion',而不是'ctl00 $ ContentPlaceHolder1 $ apiversion'。
任何解决方案?
答案 0 :(得分:1)
我不确定,但我认为这应该有效......在文档准备好时更改名称属性..
$(document).ready(function(){
$("#<%=apiversion.ClientID%>").attr("name","apiversion");
});
可替换地..
var arrayOfNames=[];
var actualName=$("#<%=apiversion.ClientID%>").attr("name");
arrayOfNames=actualName.split('$');
var whatYouActuallyWant=arrayOfNames[2];// This is the name you have without master page.
保留以下评论..如果是部分回发,例如更新面板,请添加pageLoad功能......
function pageLoad(sender,args){
$("#<%=apiversion.ClientID%>").attr("name","apiversion");
}