我需要一些与asp.net验证器和回发相关的问题的帮助。
问题是我有一个页面说'p1'它有一个母版页面' m1'。除了这些,我还有一个用户控件' u1'。
现在,问题是在母版页上' m1',我有一个启动回发的按钮。在我的usercontrol' u1'上,我需要检查/验证一些字段,如果字段无效,则停止回发。
我尝试过使用customvalidators并强制调用Page.Validate()方法。但通过这样做,我可以看到page.IsValid属性是false但是返回发生。如果控制字段是invaild,我甚至试图写一个return语句,但它没有帮助..
有什么建议吗?
请注意,我不想在母版页上进行任何更改,因为这可能会对其他页面产生很大影响。
谢谢!
答案 0 :(得分:0)
如果单击某个按钮会导致回发,即使该页面无效(如您的情况,已证明其具有Page.IsValid属性为False),则表示该按钮未配置为在客户端检查验证。
解决方案1: 您需要使用值“
初始化Button的”CausesValidation“属性但是,这需要更改标记上“按钮”的标记。这不是你想要表现的。
解决方案2: 您可以在页面中从Load Event中访问Master页面的Button,并将按钮的CausesValidation属性初始化为True。 看一下以下链接,从主页面中找到按钮: https://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx