我似乎无法弄清楚这一点。我正在尝试使用 MVC Beta 并尝试实现一个包罗万象的路由,这样如果用户输入 mysite.com/blah 而不是 mysite.com/home/index 它将命中“错误”路由。
不幸的是,“默认”路线似乎总是先抓住“废话”。事实上,我能够到达“错误”路线的唯一路线是 blah/blah/blah/blah。
这是它应该工作的方式吗,因为我已经看到其他示例具有像这样设置的“默认”和“错误”路由,并且似乎如果他们要输入一个不存在的控制器会击中“错误”路线。
有什么我遗漏的(很可能)还是我只需要为每个控制器创建一个特定的路由?
我正在使用的代码:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
routes.MapRoute(
"Error",
"{*catchall}",
new { controller = "Base", action = "Error", id = "404" }
);
谢谢你,杰夫