由于CompareValidator而未引发Button_Click事件

时间:2009-06-05 17:06:42

标签: asp.net events validation page-lifecycle comparevalidator

我有一个包含<asp:Button/>的页面可以离开页面,<asp:Button/>可以获得一些日期,另一个<asp:TextBox/>可以确认该数据。

确认验证器配置如下:

<asp:TextBox/>

在页面上,当编辑字段时,比较验证程序会在<asp:TextBox/><asp:TextBox/>失去焦点时运行。

编辑任一字段,然后单击按钮离开页面时,比较验证程序将运行并显示错误消息,但不会运行Button_Click方法。

按钮的<asp:CompareValidator ID="CompareValidator" runat="server" ErrorMessage="error message" ControlToValidate="ConfirmTextBox" ControlToCompare="TextBox" Operator="Equal"></asp:CompareValidator> 属性设置为<asp:CompareValidator ID="CompareValidator" runat="server" ErrorMessage="error message" ControlToValidate="ConfirmTextBox" ControlToCompare="TextBox" Operator="Equal"></asp:CompareValidator>

我可以在保持比较验证器功能的同时运行Button_Click方法,而无需使用服务器验证或使用TextBox.Text值的regexValidator吗?

2 个答案:

答案 0 :(得分:2)

CompareValidator在用户浏览器的客户端执行所有比较。如果它引发错误,那么它将自动阻止Button_Click事件触发,因为不会发生回发。我认为您的解决方案是在服务器端执行比较。

答案 1 :(得分:1)

如果页面无效,为什么还要发生Button_Click事件?