[Button_Click事件由于CompareValidator而未引发

问题描述 投票:1回答:2

我有一个页面,其中包含要离开页面的<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吗?

asp.net events validation page-lifecycle comparevalidator
2个回答
2
投票

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


1
投票

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


0
投票

@ StuperUser,您能解决原始问题吗?我面临着同样的问题。当comparevalidator显示消息时,button_click被禁用。让我知道你干了什么?

© www.soinside.com 2019 - 2024. All rights reserved.