由于 CompareValidator 未引发 Button_Click 事件
我有一个页面,其中包含用于离开页面的
和
获取一些日期,另一个
来确认该数据。
确认验证器配置如下:
<asp:CompareValidator ID="CompareValidator" runat="server"
ErrorMessage="error message" ControlToValidate="ConfirmTextBox"
ControlToCompare="TextBox"
Operator="Equal"></asp:CompareValidator>
在页面上,编辑字段时,比较验证器会在 ControlToValidate
或 ControlToCompare
失去焦点时运行。
编辑任一字段,然后单击按钮离开页面时,比较验证器将运行并显示错误消息,但不会运行 Button_Click 方法。
按钮的 causesValidation
属性设置为 false
。
我可以使 Button_Click 方法运行,同时保持比较验证器的功能,而不求助于服务器验证或使用 TextBox.Text 值的 regexValidator 吗?
I have a page containing an
to leave the page and a <asp:Button/>
to get some date and another <asp:TextBox/>
to confirm that data.<asp:TextBox/>
The confirm validator is configured as follows:
<asp:CompareValidator ID="CompareValidator" runat="server"
ErrorMessage="error message" ControlToValidate="ConfirmTextBox"
ControlToCompare="TextBox"
Operator="Equal"></asp:CompareValidator>
On the page, when editing the fields, the compare validator runs when the ControlToValidate
or ControlToCompare
loses focus.
When editing either fields, then clicking the button to leave the page, the compare validator runs and displays the error message but the Button_Click method is not run.
The causesValidation
attribute of the button is set to false
.
Can I make the Button_Click method run while maintaining the compare validator's functionality, without resorting to server validating or a regexValidator that uses the TextBox.Text value?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
CompareValidator 在用户浏览器的客户端执行比较。 如果它引发错误,那么它将自动阻止 Button_Click 事件触发,因为不会发生回发。 我认为你的解决方案是只在服务器端进行比较。
The CompareValidator performs the comparison all on the client side in the user's browser. If it raises an error, then it will automatically prevent the Button_Click event from firing, since a postback won't occur. I think your solution is to just perform the comparison on the server side.
如果页面无效,为什么您仍希望发生 Button_Click 事件?
If the Page is not valid, why would you still want the Button_Click event to occur?