2015-11-08 94 views
0

我需要一些关于asp.net验证器和回发的问题。asp.net中的回发和自定义验证器的问题

问题是我有一个页面'p1',它有一个母版页'm1'。除了这些,我还有一个usercontrol'u1'。

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

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

有什么建议吗?

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

谢谢!

回答

0

如果点击一个按钮会导致回发,即使页面无效(在你的情况下,证明Page.IsValid属性为False),那么这意味着该按钮没有配置为检查客户端的验证。

解决方案1: 需要并初始化按钮的“的CausesValidation”属性与价值真”

然而,这需要改变的标记‘的标记按钮’这是不是。您要执行什么

解决方案2: 你可以从你的页面中,从Load事件中访问母版页的按钮,按钮的CausesValidation属性初始化为True 看一看的以下链接从母版页中查找按钮: https://msdn.microsoft.com/en-us/library/xxwa0ff0.aspx