2

我的 aspx 页面上有一个隐藏字段,我使用母版页。不使用母版页一切都很好,并且隐藏字段的名称属性是正确的。

<asp:HiddenField ID="apiversion" ClientIDMode="Static" runat="server" />

渲染后,结果html是;

<input type="hidden" name="apiversion" id="apiversion" value="v0.01">

但是如果使用母版页,那么结果 html 就像;

<input type="hidden" name="ctl00$ContentPlaceHolder1$apiversion" id="apiversion" value="v0.01">

但是我必须使用母版页并且需要名称属性作为“apiversion”,而不是“ctl00$ContentPlaceHolder1$apiversion”。

有什么解决办法吗?

4

1 回答 1

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");
}
于 2013-03-22T16:59:58.530 回答