2015-01-26 6 views
0

연습을 위해 2 개의 텍스트 상자에 사용자 정의 유효성 검사기가있는 동일한 텍스트가 포함되어 있는지 비교해야합니다 (comparevalidator와 동일한 작업을 수행함) 그러나 비교 유효성 검사기를 사용할 수 없습니다. 이 경우 사용자 지정 유효성 검사기를 사용해야합니다.비교할 사용자 정의 유효성 검사기

텍스트 상자 1과 텍스트 상자 2에 동일한 값 (텍스트)이 포함되어 있지 않으면 오류 메시지를 표시해야합니다 : 동일한 값이 아님!

어떻게 해결할 수 있습니까?

마크 업 :

내가 지금까지 무엇을 가지고

<asp:TextBox ID="TextBox2" runat="server" /> 
<asp:TextBox ID="TextBox3" runat="server" /> 
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Not the same value !" ControlToValidate="TextBox2" onservervalidate="CustomValidator1_ServerValidate" /> 

그리고 이것은 내가 코드 숨김에서 할 뭘하려 :

protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
{ 
    if (TextBox2.ToString() != TextBox3.ToString()) 
    { 
     Label1.Text = "Not the same values"; 
     // don't exactly know what to do in here in order to put it in the error message 
    } 
} 
+1

'(! TextBox2.ToString은() = TextBox3.ToString는())'해야하는 경우 다음과 같은 '경우 (TextBox2.Text :

이 시도 ! = TextBox3.Text) TextBox 컨트롤을 사용하는 방법에 대한 C# MSDN (https://msdn.microsoft.com/en-us/library/bb397491(v=90) .aspx) – MethodMan

답변

0
protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     if (TextBox2.Text != TextBox3.Text) 
     { 
      Label1.Text = "Not the same values"; 
      args.IsValid = false; 
     } 
     } 
+0

코드를 실행하고 .. 실행 하시겠습니까? 나는 당신이 그것의 텍스트를 체크하지 않을 것이라는 것을 알았을 것이다. .. 비교에서'.Text' 속성은 어디에 있는가? 'TextBox2.ToString()'은 Object 자체의 문자열 표현을'yield '합니다. – MethodMan

+1

감사합니다. methodman, args.IsValid를 볼 수 있도록 코드를 복사했습니다. 나는 그것을 새롭게했다. – RickJames

0

참조하십시오이 귀하의 질문에 대한 토론이 있습니다. 해결책이 있습니다.

Check this

업데이트 :

<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox> 
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox> 
    <asp:Button ID="Button1" runat="server" Text="Button" /> 
<asp:CustomValidator ID="CustomValidator1" runat="server" 
ErrorMessage="Not the same value !" ControlToValidate="TextBox2" onservervalidate="CustomValidator1_ServerValidate"></asp:CustomValidator> 




protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) 
    { 
     if (TextBox2.Text == TextBox3.Text) 
     { 
      args.IsValid = true; 

     } 
     else 
     { 

      args.IsValid = false; 
     } 
    } 
+0

나는 아직도 해결책이 없다. – Vince

+0

여전히 텍스트 상자 2 또는 3이 같은지 확인하지 않습니다. – Vince

+0

@Vince 페이지에 버튼이 있습니까? –

관련 문제