如何使用ASP.NET MVC项目处理HTTP 404

问题描述

我一直在寻找可以处理404错误方法,将其重定向到设计并命名为404错误页面

有些文章说我应该对Route config进行一些更改。我更改了它,现在下面的代码是我的route.config,但仍然无法正常工作

public static void RegisterRoutes(RouteCollection routes)
{
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            name: "Default",url: "{action}/{id}",defaults: new { controller = "Home",action = "Index",id = UrlParameter.Optional }
        );

        routes.MapRoute(
               name: "Default2",url: "{controller}/{action}/{id}",id = UrlParameter.Optional }
           );

        //404 ERRORS:
        routes.MapRoute(
            name:"404-PageNotFound",url: "{}",new { controller = "Home",action = "Pagenotfound" }
        );
}

我的意思仍然是,当我运行项目并输入错误的地址时,它显示的是认404页面,而不是我设计的页面-Pagenotfound.cshtml

如果您能帮助我,我非常感谢。

解决方法

在web.config页面的标记之间复制并粘贴以下代码。发生404错误时,它将重定向到Pagenotfound.cshtml页面。

sed 's/\b[a-z]\b//g'

此外,在“控制器”页面顶部添加[HandleError]属性。