我错误地将所有有效网址定向到HomeController并且无效网址被正确拒绝。
我有以下控制器:
HomeController
ThisController
ThatController
MyController
这是我的RouteConfig:
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"StaticRoute",
"My/Index",
new { controller = "This", action = "Index" }
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
所有以下网址都指向" HomeController":
/
/Home
/Home/Index
/This
/This/Index
/That
以下网址被正确定向到" ThisController":
/My/Index
以下网址正确地被404化:
/Home/NotExists
/This/NotExists
/His
/Her/Index
看起来默认路由始终使用默认值,而不是路由参数。我对路由器的理解是错误还是做了其他错误?
修改
所有控制器都有默认的未修饰索引方法,没有参数