【发布时间】:2016-12-09 08:48:26
【问题描述】:
我正在尝试使用 .NET MVC Web 应用程序设置语言
这是我的 SetCulture 函数;
public ActionResult SetCulture( string lan ) {
string Culture = Request.QueryString.Get( "lan" );
// Validate input
Culture = CultureHelper.GetImplementedCulture( Culture );
// Save culture in a cookie
HttpCookie cookie = Request.Cookies[ "_culture" ];
if ( cookie != null )
cookie.Value = Culture; // update cookie value
else {
cookie = new HttpCookie( "_culture" );
cookie.Value = Culture;
cookie.Expires = DateTime.Now.AddYears( 1 );
}
Response.Cookies.Add( cookie );
//Session["_culture"] = Culture;
return RedirectToAction( "../Home/Index" );
}
这是第一个问题;
当页面http://localhost:55616/Home/Index 打开时,可以更改语言。
但是,当http://localhost:55616 打开时,它会自动刷新,但不会更改语言。
这是第二个问题;
可以看出,我将页面重定向到../Home/Index 页面。但是我需要将页面重定向到自身,例如,当它在../Home/UserSettings时,更改语言后它将是../Home/UserSettings。
【问题讨论】:
-
第一个问题,您可以逐步调试以查看两个 url 之间有什么不同;第二个问题您可能需要一个参数作为 returnUrl,您可以在更改语言后重定向到该参数
-
您知道发送哪个页面语言更改请求吗?
-
您可以传递一个参数来显示发送语言更改请求的页面
标签: c# asp.net localization culture