我试图在 MVC4 中指定一个路由,如果显示一个特定的操作名称,它会忽略控制器名称。例如。
mysite.com/AnyControllerNameHere/SpecificAction - 让我指定要使用的控制器和操作,而
mysite.com/AnyControllerNameHere/NotSpecificAction - 将带我使用 AnyControllerNameHere 控制器和 NotSpecificAction 方法,如 MVC 默认值。
我试图编写一些代码,但它似乎没有做我想要的。完整的路由配置只是 MVC 默认值加上我试图这样做......
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"SpecificAction",
"{controller}/SpecificAction",
new { controller = "Home", action = "SpecificAction" }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}