2011-03-18 35 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

我的工作是改变按钮的验证组,并按预期工作。

相关问题