嗨,我正在尝试利用这篇精彩的文章在我的 mvc3 站点中提供本地化。没有区域可以完美运行,但是在我的站点中引入区域我遇到了这个问题:
htmlHelper.RouteLink(linkText, globalisedRouteData)
全球化路由数据在哪里:
4 Keys: Culture, Area, Controller, Action
4 values: en, soluciones, home, index
没有产生预期的(对我来说):host/en/soluciones/home/Index 但是:/soluciones/Home?culture=en
让我心碎的是这个?culture=en。为什么没有嵌入 /en/,因为它包含在 globalisedRouteData 中?
在我的 RegisterRoutes 中,我放置了:
const string defautlRouteUrl = "{area}/{controller}/{action}/{id}";
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
RouteValueDictionary defaultRouteValueDictionary = new RouteValueDictionary(new {area="soluciones_de_salud", controller = "Home", action = "Index", id = UrlParameter.Optional });
routes.Add("DefaultGlobalised", new GlobalisedRoute(defautlRouteUrl, defaultRouteValueDictionary));
谢谢