Asp.net mvc 3 MVC 3自定义路由-重定向、操作、操作链接的url不正确
我有一个特定的文件夹结构,我必须遵循(/countrycode/language/),所以我的路线设置如下Asp.net mvc 3 MVC 3自定义路由-重定向、操作、操作链接的url不正确,asp.net-mvc-3,asp.net-mvc-routing,Asp.net Mvc 3,Asp.net Mvc Routing,我有一个特定的文件夹结构,我必须遵循(/countrycode/language/),所以我的路线设置如下 routes.MapRoute( "en-us", "us/en/{action}/{id}", new { Controller = "XXX", action = "Index", cc = "us", ll = "en", id = UrlParameter.Optional } ); routes.MapRoute( "fr-fr", "f
routes.MapRoute(
"en-us",
"us/en/{action}/{id}",
new { Controller = "XXX", action = "Index", cc = "us", ll = "en", id = UrlParameter.Optional }
);
routes.MapRoute(
"fr-fr",
"fr/fr/{action}/{id}",
new { Controller = "XXX", action = "Index", cc = "fr", ll = "fr", id = UrlParameter.Optional }
);
routes.MapRoute(
"de-de",
"de/de/{action}/{id}",
new { Controller = "XXX", action = "Index", cc = "de", ll = "de", id = UrlParameter.Optional }
);
我有一个控制器和该控制器中的多个动作。当我尝试重定向到某个操作或链接到视图中的某个操作时,URL始终以/us/en/开头,即使我当前在/fr/fr/中
e、 g.如果当前路线为/fr/fr/
@Html.ActionLink("fooText", "fooAction")
@Url.Action("barAction")
return RedirectToRoute("Index");
最后都成了
/us/en/fooAction
/us/en/barAction
/us/en/
如何使这些方法链接到正确的URL?确定,而不是:
@Html.ActionLink("fooText", "fooAction")
我需要使用:
@Html.RouteLink("fooText", "fr-fr", new { controller = "XXX", action = "fooAction" })