【问题标题】:Is there a way to check if I can use Page.IsValid safely?有没有办法检查我是否可以安全地使用 Page.IsValid?
【发布时间】:2010-02-24 19:11:44
【问题描述】:

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

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

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

【问题讨论】:

    标签: asp.net validation


    【解决方案1】:

    尝试在 try catch 中分配一个私有变量

     private bool isPageValid;
     public bool IsPageValid
     {
        get
        {
          try
          {
            isPageValid= Page.IsValid
          }
          catch
          {  
            Page.Validate();
            isPageValid = Page.IsValid
          }
          return isPageValid;
        }
     }
    

    【讨论】:

    • 谢谢,很好!我希望页面类中有内置的东西,但是,它似乎不存在。
    • 你不需要私有变量,你可以简单地做try { return Page.IsValid; } catch { Page.Validate(); return Page.IsValid; }
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-08-23
    • 1970-01-01
    • 1970-01-01
    • 2011-05-16
    相关资源
    最近更新 更多