2013-03-22 45 views
2

我在我的aspx頁面上有一個隱藏的字段,我使用masterpage。 沒有使用母版頁,一切都很好,隱藏字段的名稱屬性是正確的。如何更改隱藏字段的名稱屬性?

<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"> 

但我必須使用母版,需要name屬性爲 'apiversion',而不是 'ctl00 $ ContentPlaceHolder1 $ apiversion'。

任何解決方案?

+1

爲什麼你會c那更改?你面臨的問題是什麼? – 2013-03-22 16:27:35

+0

我調用了一個從我的請求頁面獲取值的服務。但是,當我使用母版頁時,服務無法讀取我的隱藏字段。所以我需要根據需要更改隱藏字段的名稱。 – 2013-03-22 16:32:01

+0

你有相同的名字和id值你爲什麼不使用id? – Adil 2013-03-22 16:32:52

回答

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"); 
} 
+0

保留請記住,如果您在POST後嘗試從代碼背後訪問隱藏值,則可能無法工作。 – jrummell 2013-03-22 17:10:00

+0

編輯我的回答:) – writeToBhuwan 2013-03-22 17:18:39

+0

謝謝@writeToBhuwan,它的工程很棒:)使用javascript是我的絕佳解決方案:) – 2013-03-23 10:23:52