2011-03-18 117 views
1

我正在使用一個嚮導控件,其中有一個導致validation = true的下一個按鈕。我也有一個複選框,當事件處理程序發生更改時,我設置下一個按鈕的validation = false。點擊該按鈕時 - 我收到以下內容:解決方案:在驗證發生之前無法調用Page.IsValid

Page.IsValid無法在驗證發生前調用。應該在具有CausesValidation的控件的事件處理程序中查詢。

下面是代碼:

protected void chk_CheckChanged(object sender, EventArgs e) 
    { 
     CheckBox chk = (CheckBox)sender; 
     ImageButton ibtnStepNext = (ImageButton)(this.WizardSummaryTemplate.CustomNavigationTemplateContainer.FindControl("StepNextButton")); 

     ibtnStepNext.CausesValidation = (!chk.Checked); 

    } 

什麼是推薦的解決方案,以禁用驗證下一個按鈕,所以我沒有看到這個錯誤?

+3

您是否明確調用了'Page.IsValid'? – 2011-03-18 16:08:53

+3

並從哪裏? – Olaf 2011-03-18 16:18:25

+1

是的 - 但是,在Page.IsValid之前調用Page.Validate()並不能解決我的問題。在此錯誤之前,不會執行調用Page.Validate()或Page.IsValid的方法。它發生在複選框檢查改變後的事件的最初發布後。 – FiveTools 2011-03-18 17:19:01

回答

0

我的工作是改變按鈕的驗證組,並按預期工作。