在ASP.Net MVC Core中,可以通过以下方式手动设置视图的当前区域设置:
app.UseRequestLocalization(new RequestLocalizationOptions
{
DefaultRequestCulture = new RequestCulture("en-US"), // 设置默认区域设置
SupportedCultures = new List // 设置支持的区域设置
{
new CultureInfo("en-US"),
new CultureInfo("zh-CN")
},
SupportedUICultures = new List // 设置支持的UI区域设置
{
new CultureInfo("en-US"),
new CultureInfo("zh-CN")
}
});
Response.Cookies.Append
方法设置AspNetCore.Culture
和AspNetCore.UICulture
的Cookie值,例如:public IActionResult Index()
{
Response.Cookies.Append(
CookieRequestCultureProvider.DefaultCookieName,
CookieRequestCultureProvider.MakeCookieValue(new RequestCulture("zh-CN")),
new CookieOptions { Expires = DateTimeOffset.UtcNow.AddYears(1) }
);
return View();
}
@CultureInfo.CurrentCulture
和@CultureInfo.CurrentUICulture
来获取当前的区域设置,例如:@CultureInfo.CurrentCulture.DisplayName
@CultureInfo.CurrentUICulture.DisplayName
使用以上方法可以手动设置视图的当前区域设置,确保正确显示多语言内容。