0

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

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

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

有没有办法做到这一点?

4

1 回答 1

0

我找到了以下文章:

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();        
  }       
}
于 2012-02-13T10:39:23.183 回答