如何更改隐藏字段的名称属性?

时间:2013-03-22 16:24:33

标签: c# asp.net

我的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'。

任何解决方案?

1 个答案:

答案 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");
}