为什么在这种情况下 Button 要验证 TextBox?

Why is the Button in this case validating the TextBoxes?

提问人: 提问时间:12/12/2017 更新时间:12/12/2017 访问量:17

问:

它看起来很简单,但变得越来越令人沮丧。我正在使用一个 ASP.NET WebForm,其中我有以下代码,用于清除在:ButtonClearTextBoxes

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"/>

问题:单击一次,这四个就可以正常清除。但是在随后的单击中,将调用 4 个中的 4 个,并验证分配的 在每个 .ButtonClearAllTextBoxesRequiredFieldValidatorsTextBoxesTextBoxesTextBox

该怎么办?

asp.net aspbutton

评论

1赞 Paul Alan Taylor 12/12/2017
学习 Javascript。忘掉验证者吧。意识到一旦你走出了Microsoft人迹罕至的道路,生活就会很艰难,即使一开始更艰难,你最好孤立地了解每一项技术,摆脱似乎降低进入门槛的专有稳定器,但实际上只是在你想要不同的东西的那一刻让这个障碍在你的头上崩溃。
1赞 12/12/2017
我知道。坦率地说,我正在经历艰难的经历。#JavaScriptIsDope
0赞 Paul Alan Taylor 12/13/2017
我们都这样做,先生。我于 2001 年进入 .NET 领域。我是 MS 的目标受众,一个不懂网络编程但无论如何都想做这个的男孩。到 2004 年,我禁止了我们公司的所有服务器控制,除了 Repeaters 和 Literals。

答:

2赞 David 12/12/2017 #1

默认情况下,任何调用任何回发的按钮都将首先调用验证。可以使用 CausesValidation 属性禁用对特定按钮的验证:

<asp:Button ID="ButtonClearAll" CausesValidation="false" ... />