asp.net mvc 在哪里设置默认文化?
Posted
技术标签:
【中文标题】asp.net mvc 在哪里设置默认文化?【英文标题】:asp.net mvc where to set default culture? 【发布时间】:2015-09-16 07:51:29 【问题描述】:对于多语言的asp.net mvc 网站。
我应该在哪里将线程的文化设置为默认语言(在我的情况下是 tr-TR),此外,如果它不存在,我需要将其保存在 cookie 中。在 Application_Start() 或其他?
我有多个站点(域),所以我需要更改站点特定的默认语言。
example.com must set default culture to tr-TR
example2.com must set default culture to en-US
【问题讨论】:
【参考方案1】:尝试在 web.config 中设置
<configuration>
<system.web>
<globalization uiCulture="en-GB" culture="en-GB" />
</system.web>
</configuration>
这是一种更通用的设置文化的方式...
【讨论】:
为了使其更通用,您可以使用它来自动检测浏览器的文化:您可以在 Application_AcquireRequestState 中设置区域性:
protected void Application_AcquireRequestState(object sender, EventArgs e)
// A Cookie
string cookie = HttpContext.Current.Request.Cookies["culture"].Value;
Thread.CurrentThread.CurrentCulture = CultureInfo.GetCultureInfo(cookie);
Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo(cookie);
你也可以访问这个link
【讨论】:
以上是关于asp.net mvc 在哪里设置默认文化?的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC 5 中的 DefaultThreadCurrentCulture 完整请求
将值传递回控制器时的 ASP.NET MVC 日期时间文化问题