2009-11-03 107 views
7

我有一個嵌套的用戶控件出現在每一個頁面上。它包含一些ASP.NET驗證器形式的驗證。有沒有辦法爲整個頁面禁用事件驗證?

我遇到的問題是,因爲它的每一頁上(在本質上它位於我的左側導航控制),我需要設置CausesValidation="false"上每一個按鈕等。

是否有辦法在Page Level設置CausesValidation =「false」?

回答

11
Page.EnableEventValidation = false; 

強烈建議您不要禁用事件驗證。如果您確實禁用了事件驗證,請確保不會構建可能會對應用程序產生意外影響的回發。

http://msdn.microsoft.com/en-us/library/system.web.ui.page.enableeventvalidation.aspx

+0

我想我可能會堅持禁用每個按鈕的EventValidation。 – 2009-11-03 18:42:15

+0

是的..那會更好的想法,我猜 – 2009-11-03 18:43:00

+0

也許只是通過將模態形式與事件驗證我糟糕的設計。也許我會擺脫asp.net驗證器,只是在後面的代碼中執行。 – 2009-11-03 18:50:18

1

事件驗證和控制的原因驗證屬性是非常不同的事情。

我想你想要做的就是停止你的用戶控件中的asp驗證器,當你在頁面的主要內容中進行某些操作時不會觸發它。

您只需將驗證組名添加到驗證器以及在您的用戶控件中提交表單的按鈕。

順便說一句:事件驗證是一個.NET魔術,它阻止任何看起來像JavaScript被輸入到表單並提交給服務器的東西。

把它關掉==糟糕的時候。

相關問題