2014-01-23 6 views
0

텍스트 변경 이벤트에서 페이지를 무효화하려면 어떻게해야합니까?ASP.net 텍스트 변경 이벤트에서 어떻게 무효화 할 수 있습니까?

텍스트 상자와 제출 버튼이있는 간단한 양식이 있습니다. 입력 한 텍스트가 유효하지 않은 경우 버튼을 비활성화하거나 제출을 중단하고 싶습니다. 내용의 유효성을 확인하기 위해 일부 db 작업이 있으므로 textchanged 이벤트에서 유효성을 검사해야합니다. 내가 어떻게 든의 TextChanged 이벤트에서 페이지를 무효화 할 수 경우는 쉽게 pls는 저에게이 감사를 Shomaail

+0

왜? TextChanged 이벤트는 서버에 대한 포스트 백에서만 발생합니다 (예 : 사용자가 버튼을 누를 때). 유효성 검사기의 핵심은 필드가 유효 할 때까지 (ClientSide 유효성 검사가 사용 가능할 때) 서버에 포스트 백을 수행하지 않는다는 것입니다. 나는 당신이 validator 컨트롤을 사용하고 있다고 가정한다. – StevieB

+0

나는 U에 동의합니다. 하지만 내 문제에 대한 해결책이 필요해. 포스트 백 또는없이. txtbox 내용은 DB로 확인해야합니다 – shomaail

답변

1

나는 완벽하게 내 자신의 문제를 해결할 수 있었다. 내 TextChanged 이벤트에 직접 CustomValidator OnServerValidate 이벤트

이제 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.customvalidator.onservervalidate(v=vs.110).aspx

를 사용하여 입력 한 데이터가 연속적으로) 정확하지 않은 내가 Page.Validate을 (전화 내 제출 버튼의 button_click 이벤트 있다면 경고를 표시 텍스트 상자와 연결된 각 사용자 지정 유효성 검사기의 OnServerValidate 이벤트 처리기를 호출합니다.

protected void btnIssueItem_Click(object sender, EventArgs e) 
    { 
     Page.Validate(); 
     if (!Page.IsValid) 
      return; 
.... 
} 


protected void tbRoomID_CustomValidator_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     BAL bal = new BAL(); 
     args.IsValid = bal.GetRoomByRoomID(Int32.Parse(args.Value)).Count == 0 ? false : true; 
    } 
0

당신은 거짓, 즉의 true로 버튼 사용 속성을 설정할 수 있습니다를 구현하는 몇 가지 쉬운 방법을 제공 할 수 있습니다

코드 Behid에
<asp:TextBox runat="server" ID="txtData" OnTextChanged="txtData_TextChanged" 
              AutoPostBack="true"></asp:TextBox> 
<asp:Button runat="server" ID="btnSave" OnClik="btnSave_Click"></asp:Button> 

는 :

 protected void txtData_TextChanged(object sender, EventArgs e) 
     { 
      if(txtData.Text == "something") 
      { 
       btnSave.Enabled = True; 
      } 
      else 
       btnSave.Enabled = False; 
     } 
+0

두 개 이상의 txt 상자가 있으면이 작업이 실패합니다. txtbox를 사용하면 버튼이 활성화되고 사용자는 오류를받을 수 있습니다. – shomaail

+0

어떻게 데이터의 유효성을 검사합니까? 정규식 또는 좀 끈 비교? –

+0

일단 txtData_TextChanged에 있으면 문자열 비교 또는 정규식 또는 다른 방법을 통해 확인할 수 있습니다. 초점의 문제는 txtbox의 데이터가 올바르지 않으면 페이지 제출이 불가능 해지는 방식이 필요하다는 것입니다. 일부 DB 작업으로 txtbox의 내용을 확인해야합니다. – shomaail

관련 문제