Пользовательский валидатор для сравнения

Для упражнения я должен сравнить, содержат ли 2 текстовых поля один и тот же текст с помощью специального валидатора (делает то же самое, что и валидатор сравнения), НО я не могу использовать для этого валидатор сравнения. Я должен использовать пользовательский валидатор для этого.

Он должен сравнить TextBox1 и TextBox2, если они не содержат одинаковое значение (текст), он должен выдать сообщение об ошибке: не то же значение!

Как я могу это решить?

Это то, что у меня есть до сих пор:

Разметка:

<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
    }
}  

person Vince    schedule 26.01.2015    source источник
comment
if (TextBox2.ToString() != TextBox3.ToString()) должно быть следующим if (TextBox2.Text != TextBox3.Text) C# MSDN как использовать Элементы управления TextBox   -  person MethodMan    schedule 26.01.2015


Ответы (2)


Обратитесь к этому обсуждению по вашему вопросу, и у него есть решение.

Проверьте это

Обновлено:

Попробуй это :

<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;
        }
    }
person King_Fisher    schedule 26.01.2015
comment
У меня все еще нет решения. - person Vince; 26.01.2015
comment
Он по-прежнему не проверяет, совпадают ли текстовые поля 2 или 3. - person Vince; 26.01.2015
comment
@Vince У тебя есть кнопка на странице? - person King_Fisher; 27.01.2015

person    schedule
comment
вы скомпилировали этот код и запустили его ..? Бьюсь об заклад, вы обнаружите, что он не будет проверять текст ни того, ни другого. Где свойство .Text в вашем сравнении? TextBox2.ToString() будет yield строковым представлением самого объекта.. - person MethodMan; 26.01.2015
comment
Спасибо, методист, я копировал его код, чтобы он мог видеть args.IsValid. Я обновил его. - person RickJames; 26.01.2015