asp.net中的回发和自定义验证器问题

时间:2015-11-08 09:44:56

标签: c# asp.net validation postback custom-validators

我需要一些与asp.net验证器和回发相关的问题的帮助。

问题是我有一个页面说'p1'它有一个母版页面' m1'。除了这些,我还有一个用户控件' u1'。

现在,问题是在母版页上' m1',我有一个启动回发的按钮。在我的usercontrol' u1'上,我需要检查/验证一些字段,如果字段无效,则停止回发。

我尝试过使用customvalidators并强制调用Page.Validate()方法。但通过这样做,我可以看到page.IsValid属性是false但是返回发生。如果控制字段是invaild,我甚至试图写一个return语句,但它没有帮助..

有什么建议吗?

请注意,我不想在母版页上进行任何更改,因为这可能会对其他页面产生很大影响。

谢谢!

1 个答案:

答案 0 :(得分:0)

如果单击某个按钮会导致回发,即使该页面无效(如您的情况,已证明其具有Page.IsValid属性为False),则表示该按钮未配置为在客户端检查验证。

解决方案1: 您需要使用值“

初始化Button的”CausesValidation“属性

但是,这需要更改标记上“按钮”的标记。这不是你想要表现的。

解决方案2: 您可以在页面中从Load Event中访问Master页面的Button,并将按钮的CausesValidation属性初始化为True。 看一下以下链接,从主页面中找到按钮: https://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx