抛出404错误时的路线不满意(throw 404 error when route is not s

2019-10-16 22:46发布

使用默认路由

  routes.MapRoute(
      "Admin",                                              // Route name
      "Admin/{action}",                           // URL with parameters
      new { controller = "Admin", action = "Index" }  // Parameter defaults
  );

很多路线(约90%),为我们的应用程序都工作,所以这很好。

现在,当用户进入/logon/strangeroute ,MVC offcourse抛出一个错误,因为我没有strangeroute在我的行动logoncontroller

使用捕获的所有异常处理程序global.asax.cs ,我不能找到让路由错误之间和其他错误(在代码的其余部分抛出)的区别(我称之为路由错误)。

我想区分betweek错误的类型,因为当路线给出了一个错误它的大部分时间是404错误,我希望将用户重定向到404页,而不是正常的,通用的,错误页面。

一个soultion将创建的所有路线的所有网页和罢免现有默认路由和实施一个包罗万象的路线,但我不希望创建每个URL一个单独的路径。

是否有这样做的另一种方式?

Answer 1:

测试如果异常你抓住是HttpException如果是使用GetHttpCode方法就可以了,看它是否是404。



文章来源: throw 404 error when route is not satisfied