2013-03-22 3 views
2

내 aspx 페이지에 숨겨진 필드가 있으며 masterpage를 사용합니다. masterpage를 사용하지 않고 모든 것이 잘되고 hiddenfield의 이름 속성이 정확합니다.숨겨진 필드의 이름 속성을 변경하는 방법은 무엇입니까?

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

는하지만하지 'ctl00 $ ContentPlaceHolder1 $의 apiversion'로, masterpage를 사용하고 'apiversion'등의 이름 속성이 필요합니다.

모든 솔루션? 을 고려하여 아래의 코멘트를 유지 ..

또는
$(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. 

+1

왜 정확하게 하시겠습니까? 그거? 당신이 겪고있는 문제는 무엇입니까? –

+0

내 요청 페이지에서 값을 가져 오는 서비스를 호출합니다. 그러나 masterpage를 사용하는 동안 서비스는 내 비하인드 필드를 읽을 수 없습니다. 그래서 숨겨진 필드의 이름을 바꿀 필요가 있습니다. –

+0

아이디를 사용하지 않는 이유는 무엇입니까? – Adil

답변

1

나는 확실하지 오전하지만 난이 ... 작동 준비 문서에 이름 속성을 변경한다고 생각합니다. 업데이트 패널의 경우와 같이 부분 포스트 백의 경우 pageLoad 함수를 추가하십시오 ...

function pageLoad(sender,args){ 
    $("#<%=apiversion.ClientID%>").attr("name","apiversion"); 
} 
+0

Keep 마음에 그 POST 뒤에 숨겨진 값을 액세스하려고하면 아마 작동하지 않습니다. – jrummell

+0

편집 내 대답 :) – writeToBhuwan

+0

감사합니다 @ writeToBhuwan, 그것은 큰 작품 :) 자바 스크립트를 사용하여 나를 위해 좋은 해결책이다 :) –

관련 문제