ASP.NETMVC自定义错误页面,一个页面用于多个错误
创始人
2024-11-12 05:30:03
0

在 ASP.NET MVC 中,我们可以通过设置错误处理程序来自定义错误页面。但是,通常情况下,为了提高用户体验,我们希望能够为多个不同类型的错误配置同一个错误页面。下面是一个示例代码片段,可以实现这个功能:

在 Global.asax.cs 文件中添加以下代码:

protected void Application_Error(object sender, EventArgs e)
{
    Exception exception = Server.GetLastError();
    Response.Clear();
    HttpException httpException = exception as HttpException;
    RouteData routeData = new RouteData();
    routeData.Values.Add("controller", "Error");
    routeData.Values.Add("action", "Index");

    if (httpException != null)
    {
        switch (httpException.GetHttpCode())
        {
            case 404:
                Response.StatusCode = 404;
                routeData.Values["action"] = "NotFound";
                break;
            case 500:
                Response.StatusCode = 500;
                routeData.Values["action"] = "InternalError";
                break;
            default:
                Response.StatusCode = 500;
                routeData.Values["action"] = "InternalError";
                break;
        }

        Server.ClearError();
        Response.TrySkipIisCustomErrors = true;

        IController errorController = new ErrorController();
        errorController.Execute(new RequestContext(
            new HttpContextWrapper(Context), routeData));
    }
}

在这段代码中,我们首先获取了最近的异常,并将其转换为 HttpException 实例。接下来,我们根据 HTTP 响应代码设置错误页面控制器的操作名称,以便将用户重定向到正确的视图页面。

最后,我们使用 RequestContext 和 Error 控制器的实例执行错误操作,以在浏览器中显示自定义错误页。

相关内容

热门资讯

今天上午!wepoker分析(... 今天上午!wepoker分析(透视)浙江宝宝游戏辅助(好像是真的辅助app)-哔哩哔哩1、许多玩家不...
透视实锤!wejoker辅助脚... 透视实锤!wejoker辅助脚本(透视)微友辅助器免费版v2.0(真是有辅助软件)-哔哩哔哩1、点击...
现有说明如下!werplan有... 现有说明如下!werplan有挂吗(透视)福建天天开心有挂吗(果然有辅助app)-哔哩哔哩1、该软件...
出乎意料的是!约局吧德州透视(... 您好,欢乐对决ios辅助这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
透视真的!wepoker可以透... 透视真的!wepoker可以透视码(透视)微乐小程序辅助器免费安卓(原来有辅助修改器)-哔哩哔哩1、...
目前!aapoker怎么控制牌... 目前!aapoker怎么控制牌(透视)陕麻圈黑科技(都是真的是有辅助神器)-哔哩哔哩1、陕麻圈黑科技...
网友热议!hhpoker买挂(... 网友热议!hhpoker买挂(透视)越乡游义乌辅助器下载(真是是真的辅助工具)-哔哩哔哩1、许多玩家...
透视ai代打!pokemmo辅... 透视ai代打!pokemmo辅助器手机版下载(透视)桂林老k字字牌辅助(果然是真的辅助下载)-哔哩哔...
透视ai代打!wepoker透... 透视ai代打!wepoker透视有用吗(透视)hhpoker免费辅助器(本来是真的辅助插件)-哔哩哔...
透视插件!佛手大菠萝13道挂哪... 透视插件!佛手大菠萝13道挂哪里(透视)拱趴辅助器(一贯有辅助神器)-哔哩哔哩1、打开软件启动之后找...