ValidateRequest - 获取错误并显示在当前页面上

时间:2012-02-10 08:14:57

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

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

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

但是我需要知道如果我能抓住错误并显示(在回发后)在当前页面上,就会显示。

有没有办法做到这一点?

1 个答案:

答案 0 :(得分: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();        
  }       
}