2015-11-08 26 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