有没有办法为整个页面禁用事件验证?
问题描述:
我有一个嵌套的用户控件出现在每一个页面上。它包含一些ASP.NET验证器形式的验证。有没有办法为整个页面禁用事件验证?
我遇到的问题是,因为它的每一页上(在本质上它位于我的左侧导航控制),我需要设置CausesValidation="false"
上每一个按钮等。
是否有办法在Page Level设置CausesValidation =“false”?
答
Page.EnableEventValidation = false;
强烈建议您不要禁用事件验证。如果您确实禁用了事件验证,请确保不会构建可能会对应用程序产生意外影响的回发。
http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx
答
尝试Page.EnableEventValidation属性:
http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation%28VS.80%29.aspx
答
事件验证和控制的原因验证属性是非常不同的事情。
我想你想要做的就是停止你的用户控件中的asp验证器,当你在页面的主要内容中进行某些操作时不会触发它。
您只需将验证组名添加到验证器以及在您的用户控件中提交表单的按钮。
顺便说一句:事件验证是一个.NET魔术,它阻止任何看起来像JavaScript被输入到表单并提交给服务器的东西。
把它关掉==糟糕的时候。
我想我可能会坚持禁用每个按钮的EventValidation。 – 2009-11-03 18:42:15
是的..那会更好的想法,我猜 – 2009-11-03 18:43:00
也许只是通过将模态形式与事件验证我糟糕的设计。也许我会摆脱asp.net验证器,只是在后面的代码中执行。 – 2009-11-03 18:50:18