如何将用户重定向到ASP.NET MVC中的自定义404页面而不是抛出异常?

jmc*_*mcd 18 asp.net-mvc routes exception

我希望能够捕获当用户请求不存在的控制器并将其重定向到404页面时引发的异常.我怎样才能做到这一点?

例如,用户请求http://www.nosite.com/paeges/1(应该是 /pages/).如何制作它以便重新定向到404而不是异常屏幕?

Dal*_*gan 16

只需使用路线:

// We couldn't find a route to handle the request.  Show the 404 page.
routes.MapRoute("Error", "{*url}",
    new { controller = "Error", action = "404" }
);
Run Code Online (Sandbox Code Playgroud)

由于这将是一个全局处理程序,所以将它一直放在默认路由下的底部.

  • 这是正确的吗?因为我确定为{controller}/{action}/{id}定义一个路由,然后用户输入一个不存在的控制器的url,然后它会显示黄色屏幕,因为第一条路线将匹配你的抓住所有人永远不会到达? (6认同)

Esp*_*spo 6

请查看此页面,将404错误路由到指定页面.

  • 您可能希望更新答案以在其中包含相关详细信息. (2认同)