我有一个asp.net应用程序,我意识到,如果我将ValidateRequest
设置为false
,则始终会显示标准错误页面。
我听说,您可以显示自定义错误页面。
但是我需要知道如果我能抓住错误并显示(在回发后)在当前页面上,就会显示。
有没有办法做到这一点?
答案 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();
}
}