【发布时间】:2012-02-10 08:14:56
【问题描述】:
我有一个 asp.net 应用程序,我意识到,如果我将 ValidateRequest 设置为 false,总是会显示一个标准错误页面。
我听说您可以显示自定义错误页面。
但我需要知道我是否可以捕获错误并将其显示(回发后)当前页面上,它正在显示。
有什么办法吗?
【问题讨论】:
标签: asp.net custom-errors validate-request custom-error-handling
我有一个 asp.net 应用程序,我意识到,如果我将 ValidateRequest 设置为 false,总是会显示一个标准错误页面。
我听说您可以显示自定义错误页面。
但我需要知道我是否可以捕获错误并将其显示(回发后)当前页面上,它正在显示。
有什么办法吗?
【问题讨论】:
标签: asp.net custom-errors validate-request custom-error-handling
我找到了以下文章:
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();
}
}
【讨论】: