使用默认路线
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
中的catch all异常处理程序,我找不到路由错误(我称之为路由错误)和另一个错误(在其余代码中抛出)之间的区别。
我想在两种错误类型之间进行区分,因为当路由发出错误时,大部分时间都是404错误,我想将用户重定向到404页面,而不是正常的,通用的错误页。
一个灵魂就是为所有页面创建所有路由并关闭现有的默认路由并实现全能路由,但我不想为每个URL创建单独的路由。
还有另一种方法吗?