我有个问题。我在这里阅读了一篇关于如何通过向控制器发送参数来更改语言的帖子,然后控制器可以处理更改。
这是我读过的:
第一:添加路线
routes.MapRoute(
"Default",
"{language}/{controller}/{action}/{id}",
new { language = "en", controller = "Home", action = "Index", id = "" }
);
二:使用ActionLink发送参数
<li><%= Html.ActionLink(
"Spanish",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "es" })%></li>
<li><%= Html.ActionLink(
"French",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "fr" })%></li>
<li><%= Html.ActionLink(
"English",
ViewContext.RouteData.Values["action"].ToString(),
new { language = "en" })%></li>
现在,我已经尝试了这个解决方案,它工作正常。但是,它只能工作一次。我的意思是,如果您单击法语,它将以法语显示页面。但是页面上的其余链接仍然指向默认的“en”。
如何将默认“语言”值更改为所选语言,以便所有链接都使用所选的新语言?