我在我的 Global.asax
文件中使用 Application_Error
方法捕获未处理的错误,这是我目前所拥有的:
protected void Application_Error(object sender, EventArgs e)
{
Exception exception = Server.GetLastError();
Response.Clear();
HttpException httpException = exception as HttpException;
if(httpException != null)
{
string action;
switch(httpException.GetHttpCode())
{
case 404:
action = "404";
break;
case 500:
action = "500";
break;
default:
action = "Other";
break;
}
Server.ClearError();
Response.Redirect(String.Format("~/Error/?error=" + action + "&message=" + exception.Message));
}
}
但是我真的不喜欢将用户重定向到错误页面的想法,事实上我希望 URL 保持不变。
例如,当页面不存在时,它不应重定向到 URL 中的路径,而应保留在同一页面上,但仍会显示错误。
有人知道怎么做吗?
最佳答案
我的解决方案与您的重定向非常相似,但根据您的部署方式,我会通过在 IIS 中自定义错误页面本身来实现。
关于c# - 显示错误页面 MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37206523/