Asp.net mvc 3 MVC 3自定义路由-重定向、操作、操作链接的url不正确

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

我有一个特定的文件夹结构,我必须遵循(/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",
    "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" })