我似乎无法弄清楚这一点。我正在尝试使用MVC Beta,并试图实现一个catchall路由,以便如果用户输入mysite.com/blah而不是mysite.com/home/index,它将会出现“错误”路由。.Net MVC路由Catchall不工作
不幸的是,似乎“默认”路线总是首先捕获“等等”。事实上,我已经能够到达“错误”路线的唯一路线是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" }
);
谢谢 杰夫
谢谢,这是我所了解的理解,但只是不想接受根据我所看到的和我所期望的。但我会学会处理它。 – 2008-11-25 23:07:05