它应该保留路由中定义的所有值并存在于RouteData
自动,除非您将其设置为其他内容。尝试在没有 T4MVC 的情况下创建链接或检查您的路由定义。像这样的东西对我来说很好用:
routes.MapRoute("Default with language", "{lang}/{controller}/{action}/{id}", new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
}, new { lang = "de|fr" });
routes.MapRoute("Default", "{controller}/{action}/{id}", new
{
controller = "Home",
action = "Index",
id = UrlParameter.Optional,
lang = "en",
});
+
protected void Application_AcquireRequestState(object sender, EventArgs e)
{
MvcHandler handler = Context.Handler as MvcHandler;
if (handler == null)
return;
string lang = (string)handler.RequestContext.RouteData.Values["lang"];
CultureInfo culture = CultureInfo.GetCultureInfo(lang);
Thread.CurrentThread.CurrentUICulture = culture;
Thread.CurrentThread.CurrentCulture = culture;
}
+
<%: Html.ActionLink("About us", "Detail", "Articles", new { @type = ArticleType.About }, null) %>