这是我的代码:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
routes.MapRoute(
"Admin", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Admin", action = "Index", id = UrlParameter.Optional }
);
}
对于第一个链接,如果我去的话它运作良好: 本地主机/歌曲 本地主机/日期 它会打开家庭控制器下的所有链接。
但对于第二个maproute: 本地主机/管理 本地主机/管理/指数 - 这些链接不起作用?谁能告诉我我做错了什么?
答案 0 :(得分:1)
首先,您的默认路线必须是列表中的最后一个,而不是第一个。
其次,您有两条默认路由。 MVC无法知道使用哪一个,因此它总是选择匹配的第一个。相反,您的管理员网址应为"Admin/{action}/{id}"