2011-05-01 7 views
0

페이지에 두 개의 버튼이 있습니다. 하나의 버튼은 등록과 관련하여 텍스트 필드 유효성 검사를 담당하고 다른 하나는 로그인과 관련이 있습니다. 문제는 페이지를 새로 고침하고 잘못된 필드를 모두 표시하는 버튼 중 하나를 누르면 발생합니다 (등록 필드를 원하지 않습니다. 사용자가 로그인 버튼을 누를 때 RequiredFieldValidator에 의해 체크 됨).유효성 검사, 페이지 이벤트 및 ViewState

내가 이런 일이 발생을 방지하기 위해 .. 초기화 이벤트를 사용했다 그래서 뭐

...

static bool oneButtonPressed; 
    protected void Page_Init(object sender, EventArgs e) 
    { 
     if (oneButtonPressed) 
     { 
      REgisterAge.Visible = false; 
      RegisterAge2.Enabled = false; 
      RegisterAge3.Enabled = false; 
      RegisterPassword.Enabled = false; 
      RegisterPassword2.Enabled = false; 
      RegisterEmail.Enabled = false; 
      RegisterEmail2.Enabled = false;  
     } 
     else 
     { 
      EntryPasswordRequiredFieldValidator10.Enabled = false; 
      EntryNameEntryRequiredFieldValidator9.Enabled = false; 



     } 

    } 

    protected void entry_Click(object sender, EventArgs e) 
    { 
     oneButtonPressed = true; 
    } 
    protected void submitButton_Click(object sender, EventArgs e) 
    { 
     oneButtonPressed = false; 
    } 
} 

여기 probelm는 페이지가 다시로드 게시 할 때 부울이 항상 false 것입니다. . 나는 내 값을 보존하기 위해 ViewState 나 정적 변수/메소드를 사용할 수 있다고 선생님이 기억합니다. 내가 틀렸어 여기에 .. 내가 ViewState를 사용해야합니까?

답변

0

왜 각 필드에 유효성 검사 그룹을 지정하지 않고 관련 제출 버튼을 지정하십시오. 서로 다른 유효성 검사 그룹은 유효하지 않은 양식에서 유효성 검사가 실행되지 않도록합니다.

 <asp:TextBox runat="server" ID="txtName" ValidationGroup="vRegistration"></asp:TextBox> 
    <asp:LinkButton runat="server" ID="btnSubmit" ValidationGroup="vRegistration"></asp:LinkButton> 
+0

굉장합니다. 당신의 대답은 제게 많은 도움이되었습니다. –

+0

도움이되기를 기뻐합니다. –

관련 문제