有没有办法检查我是否可以安全地使用Page.IsValid?

时间:2010-02-24 19:11:44

标签: asp.net validation

我知道在ASP.NET页面的代码隐藏中调用Page.IsValid会抛出异常,如果我之前没有显式调用Page.Validate,或者如果验证没有在控件的事件处理程序中自动发生启用“CausesValidation”。

有时我在页面的方法或事件中,我需要知道所有输入是否有效,但我不知道在这个回发来自的特定地方。因此,我不知道该页面之前是否已经过验证,这意味着,如果我可以在不调用Page.Validate之前询问Page.IsValid。

有没有办法检查页面是否已经过验证(类似于布尔属性“Page.HasBeenValidated”或其他什么)?

1 个答案:

答案 0 :(得分:4)

尝试在try catch

中分配一个私有变量
 private bool isPageValid;
 public bool IsPageValid
 {
    get
    {
      try
      {
        isPageValid= Page.IsValid
      }
      catch
      {  
        Page.Validate();
        isPageValid = Page.IsValid
      }
      return isPageValid;
    }
 }