C# 在页中发生错误且访问被拒绝时重定向到错误页
您好,我在asp.net中做我的项目,现在我有一个针对错误的每个设计页面,现在如何在页面加载发生错误时自动重定向到错误页面 并找到该页的错误代码C# 在页中发生错误且访问被拒绝时重定向到错误页,c#,asp.net,.net,runtime-error,C#,Asp.net,.net,Runtime Error,您好,我在asp.net中做我的项目,现在我有一个针对错误的每个设计页面,现在如何在页面加载发生错误时自动重定向到错误页面 并找到该页的错误代码 这些错误类似于404403400500错误代码您可以使用Global.asax并使用其中的应用程序错误方法处理异常和重定向。以下是我正在做的: protected void Application_Error(object sender, EventArgs e) { Exception ex = Context.Erro
这些错误类似于404403400500错误代码您可以使用
Global.asax
并使用其中的应用程序错误方法处理异常和重定向。以下是我正在做的:
protected void Application_Error(object sender, EventArgs e)
{
Exception ex = Context.Error;
if (ex is HttpUnhandledException)
{
ex = Context.Error.InnerException;
}
if (ex.GetType().Name == "FileNotFoundException")
{
//ignore
}
else
{
try
{
if ((ex as HttpException).GetHttpCode() == 404)
{
// Page Not found, redirect
if (!ex.Message.Contains("error.aspx"))
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", "~/error.aspx");
Response.End();
}
}
}
catch (Exception ThrownException)
{
//log
}
}
}
使用以下代码添加global.asax页面
protected void Application_Error(Object sender, EventArgs e)
{
HttpException ex = (HttpException)Server.GetLastError();
int httpCode = ex.GetHttpCode();
if (httpCode == 404)
{
//do 404 code work here
}
if (httpCode == ???)
{
//do ??? code work here
}
}