显示错误页面MVC

时间:2016-05-13 09:39:21

标签: c# asp.net-mvc

我在Application_Error文件中使用Global.asax方法捕获未处理的错误,这是我到目前为止所做的:

 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中的路径,而应该保留在同一页面上,但仍然会显示错误。

有谁知道怎么做?

1 个答案:

答案 0 :(得分:0)

我的解决方案与您的解决方案重定向很多,但根据您的部署方式,我会通过在IIS中自定义错误页面来实现此目的。

Check Out this answered question