【问题标题】:ValidateRequest - getting error and display on current pageValidateRequest - 获取错误并显示在当前页面上
【发布时间】:2012-02-10 08:14:56
【问题描述】:

我有一个 asp.net 应用程序,我意识到,如果我将 ValidateRequest 设置为 false,总是会显示一个标准错误页面。

我听说您可以显示自定义错误页面。

但我需要知道我是否可以捕获错误并将其显示(回发后)当前页面上,它正在显示。

有什么办法吗?

【问题讨论】:

    标签: asp.net custom-errors validate-request custom-error-handling


    【解决方案1】:

    我找到了以下文章:

    http://blogs.msdn.com/b/kaevans/archive/2003/07/07/9791.aspx

    文章的最后一点(重写 OnError 方法),描述了如何在当前页面上显示错误。

    OnError 方法必须被覆盖,error StatusCode 必须设置为 200。

    protected override void OnError(EventArgs e)
    {
      System.Exception oops = Server.GetLastError();
    
      if(oops.GetBaseException() is System.Web.HttpRequestValidationException )
      {
        System.Diagnostics.Debug.Assert(false);
        Response.Write(oops.ToString());
        Response.StatusCode = 200;
        Response.End();        
      }       
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-09
      • 2016-02-04
      • 2021-10-14
      • 2017-06-04
      • 1970-01-01
      • 2016-03-03
      • 2012-02-28
      • 1970-01-01
      相关资源
      最近更新 更多