2010-07-29 5 views
0

포스트 백 이벤트의 값을 결정하는 구성 요소가 있습니다.다시 게시 후 숨김 필드 값 설정

protected void Button_Click(object s, EventArgs e) 
{ 
    HiddenField.Value = 5; 
} 

물론 값에 연루있다, 그러나에 HiddenField는 ASP입니다 : RUNAT = 서버 세트에 HiddenField 제어 할 수 있습니다. 내 자바 스크립트가 :

다시 게시가 다른 URL로 QueryString을 통해 숨겨진 필드의 값을 전달하기위한 목적으로 (다른 클라이언트 클릭 이벤트를) 발생 후 자바 스크립트의 코드 만 실행되도록 설정되어

var id = $("#<%= HiddenField.ClientID %>").val(); 
(이후로 나는 포스트 백에서 응답 리다이렉션을 할 수 없기 때문에 클라이언트는 다른 페이지에서 이것을 원한다). !

내가 추가하는 시도 : 코드의 Page.IsPostback 섹션

ScriptManager.RegisterHiddenField(HiddenField, "Value", string.Empty); 

하지만, 자바 스크립트를 실행할 때 ID는 아직 설정되어 있지 않습니다.

+0

당신은 당신이 당신의 가치를 어딘가에 무시하지 않는 확실한가요? enableviewstate가 켜져 있습니까? 먼저 서버 측을 살펴볼 것입니다. – Peter

답변

0

메인 페이지에 글로벌 js 변수를 추가 한 다음 숨겨진 필드 대신 해당 변수를 설정할 수 있습니다. Page.aspx

<script> 
    var id=''; 
</script> 

Page.aspx.cs

protected void btn_Click(object sender, EventArgs e) 
{ 
    ScriptManager.RegisterStartupScript(Page, Page.GetType(), "updateJavaScriptId", "id='5';", true); 
} 
0

Here과 유사한 문제입니다. 어쩌면 당신은 당신이하고있는 것을 수정할 수 있습니다.

이와 같은 클라이언트 ID에 액세스해야합니까? 리피터 또는 뭔가가 아닌 한 작은 문제로 컨트롤의 ID를 설정할 수 있어야합니다. 그것은 당신이하려고하는 것을 단순화 할 수 있습니다.

이 예제에서는 getElementById를 사용하여 숨겨진 필드를 가져 와서 HiddenField의 ID를 전달합니다.

+0

숨겨진 필드의 value 속성에 액세스하지 않는 것은 아닙니다. 숨겨진 필드는 포스트 백 이후 (또는 그 전에) 값이 없습니다. 내가 다시 게시 후 HTML의보기 소스를 할 때 필드에 설정된 계산 된 값을 볼 것으로 기대합니다. – SpaceCowboy74

+0

aspx 페이지에 태그를 포함하도록 질문을 업데이트하여 해당 속성을 볼 수 있습니까? 또한 Page_Load()의 모든 코드는보기 좋을 것입니다. – kniemczak

관련 문제