我想隐藏网址中的控制器名称并执行此操作
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"AccountRoute",
"{action}",
new { controller = "Account", action = "Index" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional }// Parameter defaults
);
}
但是当我试着去
localhost:1234 /设置 - 不工作。
但
localhost:1234 /帐户/设置 - 工作..
关于这一点有很多问题,所有这些问题都表明了我上面已有的内容。 我在哪里做错了?或者我错过了什么?
答案 0 :(得分:2)
将AccountRoute
移到Default
路线下方。请记住,创建这样的路线可能会导致意想不到的后果。
答案 1 :(得分:0)
尝试向AccountRoute添加可选参数。请注意,您的操作与控制器的名称不同,否则路由将无法正常工作。
routes.MapRoute(
"AccountRoute",
"{action}/{id}",
new { controller = "Account", action = "Index", id = UrlParameter.Optional }
);