Почему Button в этом случае проверяет текстовые поля?

Это выглядит очень просто, но становится все более разочаровывающим. Я работаю с ASP.NET WebForm, где у меня есть следующий код для ButtonClear очищает текст, введенный в TextBoxes:

protected void ButtonClearAll_Click(object sender, EventArgs e)
{
    TextBox1.Text = string.Empty;
    TextBox2.Text = string.Empty;
    TextBox3.Text = string.Empty;
    TextBox4.Text = string.Empty;
}

Код в .aspx файл:

<asp:Button ID="ButtonClearAll" runat="server" Text="Clear" OnClick="ButtonClearAll_Click"/>

Проблема: при нажатии ButtonClearAll однажды четыре TextBoxes очищаются нормально. Но при последующем нажатии RequiredFieldValidators из 4 TextBoxes звонят и проверяют назначенный TextBoxes распечатать соответствующие сообщения об ошибках рядом с каждым TextBox,

Что делать?

1 ответ

Решение

По умолчанию любая кнопка, вызывающая любой постбэк, будет сначала вызывать проверку. Вы можете отключить проверку для определенной кнопки с помощью CausesValidation свойство:

<asp:Button ID="ButtonClearAll" CausesValidation="false" ... />
Другие вопросы по тегам