ASCX中的验证器行为

时间:2013-10-15 23:10:41

标签: asp.net ascx

我在ASP.NET ASCX控件中有一些输入字段,正则表达式验证程序和自定义验证程序。这种行为有点奇怪,因为它的工作方式如下:

如果客户端验证程序标记了错误消息,并且我从输入字段中选择了Tab,然后单击“提交”,则页面将按照应有的方式发布。但是,如果客户端验证程序已标记错误,而是我更正错误并单击“提交”按钮,则错误将被清除,但在我再次单击“提交”按钮之前,页面才会提交。

我的问题是如何更改此行为,以便我只需要单击“提交”按钮一次以清除错误并回发页面?另外,这是“行为”标准吗?

更新:不使用用户控件就会出现此问题。我相信它是CompareValidator的特定行为。不,自定义验证器会出现相同的行为。如果我没有“标签离开”并单击按钮,那么我必须单击它两次以使回发发生。第一次单击只会清除验证器。

1 个答案:

答案 0 :(得分:0)

问题是CustomValidator的显示类型为动态而非静态。这篇文章帮助我找到答案

RequiredFieldValidator have to click twice

我会赞扬那些解释其导致此行为的人。