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 控制器的实例执行错误操作,以在浏览器中显示自定义错误页。

相关内容

热门资讯

现场直击透视挂!聚友棋牌辅助透... 现场直击透视挂!聚友棋牌辅助透视挂,来往苏州棋牌是真的有外挂,切实有挂教学1、起透看视 聚友棋牌辅助...
玩家必看秘籍透视挂!乐游忻州麻... 玩家必看秘籍透视挂!乐游忻州麻将辅助透视挂,新毛豆真的是有外挂,本来有挂技术1、乐游忻州麻将公共底牌...
记者爆料透视挂!E游戏辅助透视... 记者爆料透视挂!E游戏辅助透视挂,古典情怀真的是有外挂,都是详细教程1、古典情怀辅助软件下载优化,古...
一分钟了解透视挂!欢乐互娱辅助... 一分钟了解透视挂!欢乐互娱辅助透视挂,诸暨游戏真的有外挂,好像有挂方法1、下载好欢乐互娱正确养号方法...
让我来分享经验辅助!安吉星辅助... 让我来分享经验辅助!安吉星辅助透视挂,鑫微乐确实有外挂,其实有挂方法1、完成安吉星有辅助插件,帮助玩...
关于辅助!指尖跑得快辅助透视挂... 关于辅助!指尖跑得快辅助透视挂,肇东麻将确实有外挂,好像有挂技巧1、下载好指尖跑得快正确养号方法之后...
现有说明如下透视挂!中至万年麻... 现有说明如下透视挂!中至万年麻将辅助透视挂,微乐河北麻将真的是有外挂,确实有挂辅助所有人都在同一条线...
热点推荐透视挂!铜铁互娱辅助透... 热点推荐透视挂!铜铁互娱辅助透视挂,古典情怀是有外挂,竟然有挂实锤1、玩家可以在铜铁互娱线上大神俱乐...
记者爆料辅助!网易棋牌辅助透视... 记者爆料辅助!网易棋牌辅助透视挂,天天监利麻将真的是有外挂,本来讲解有挂1、天天监利麻将模拟器是什么...
热点推荐透视挂!浙江游戏大厅双... 热点推荐透视挂!浙江游戏大厅双扣辅助透视挂,途游四国军旗是真的有外挂,一贯有挂功能1、浙江游戏大厅双...