我正在开发一个MVC-5应用程序,预计将有来自亚洲和美国的用户。欧洲。我现在正在努力处理双重值。 在亚洲人们使用。作为分隔符和其他人使用,作为分隔符。 我使用下面的代码来设置Culture。
System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(lang);
System.Threading.Thread.CurrentThread.CurrentUICulture = System.Threading.Thread.CurrentThread.CurrentCulture;
但我的问题是如何将nb-NO设置为默认文化?还允许用户根据需要将文化更改回en-US?
我试过
<globalization culture="nb-NO" uiCulture="nb-NO" />
它在web.config中但没有运气
答案 0 :(得分:1)
一般情况下它应该在web.config中工作,除了在那里你会有一个静态值,所以最好在代码中以一种你甚至可以允许用户通过下拉菜单指定使用哪种文化的方式选择,数据库中的用户设置,cookie或任何其他方法。
您可以尝试将此代码添加到MVC Controller类的Initialize方法中,它应该可以工作!
protected override void Initialize(RequestContext requestContext)
{
base.Initialize(requestContext);
const string culture = "nb-NO";
var ci = CultureInfo.GetCultureInfo(culture);
Thread.CurrentThread.CurrentCulture = ci;
Thread.CurrentThread.CurrentUICulture = ci;
}