2009-09-23 2 views
0

페이지에 체크 상자가 있습니다. 단추 트리거를 누른 후에 UpdatePanel에서 FindControl()을 사용하여 값을 가져 오지만 확인 된 값이 잘못되었습니다. 올바른 값을 어떻게 확인할 수 있습니까? 당신이 당신의 페이지에서 체크 박스의 값을 설정하는 코드가있는 경우는 다음과 같이 포스트 백에 실행되지 않았는지내 코드는 체크 박스가 선택되어 있지 않은 경우 체크하지 않는다고 말합니다 ... ASP.NET

답변

2

,합니다

protected void Page_Load(object sender, EventArgs e) { 
    // Only set the checkboxes on GETs, not on POSTs 
    if (! this.IsPostBack) { 
     this.EmailMeUpdatesCheckbox.Value = false; 
    } 
} 

작업은 아직 페이지 수명주기를 통해 이동 UpdatePanels 내에서 트리거 (사용자가 모든 Page의 상태에 액세스 할 수있는 이유이기 때문에) 확인란의 값을 검사하는 코드로 이동하기 전에 사용자의 선택을 지울 수 있습니다.

+0

페이지 초기화는 오직 한 번만 실행되며! isPostback if 문에 있습니다. – NibblyPig

+1

정확하지 않습니다. Page_Init은 게시 할 때마다 실행됩니다. 게시 된 양식 값이 컨트롤로 다시 매핑 될 때 Page_Init에 설정된 값이 덮어 쓰여 지므로 내 원래 예제가 어리석은 상태라고 말한 적이 있습니다. 페이지에 체크 박스 값을 설정하는 * 코드가 있습니까? 디버깅에 도움이되는 코드를 게시해야 할 수도 있습니다. 페이지 라이프 사이클의 어느 시점에서 체크 박스 값을 읽으려고합니까? 확인란이 동적으로 생성 되었습니까? –

+0

코드를 게시하면 도움이되지 않을 것입니다 ... 내 연구는 기본적으로 체크 램프 값이 프리 렌더 메서드 또는 유사한 트리거가 실행될 때까지 설정되지 않았 음을 나타내며 트리거 메서드가 끝날 때까지 실행되지 않습니다. 이것은 버튼을 두 번 클릭하여 확인되었으므로 클릭 한 체크 박스가 기억됩니다. 답장을 고려하고 값을 다시 설정하지 않고 다시 확인하십시오. – NibblyPig

관련 문제