不要自动将文化从浏览器中自动绑定
问题描述:
我有一个web表单页面,并希望使用资源文件和元标签控件中的元代码设置语言。参数来自其他地方。不要自动将文化从浏览器中自动绑定
<asp:Label ID="lblTitle" runat="server" Text="" meta:resourcekey="lblTitle"></asp:Label>
但是,通过这种方式(元),它将从浏览器中读取首选语言并自动设置文化。例如,如果来自broswer的受保护语言是en-AU,那么它将从我的资源文件xxxx.aspx.en-AU.resx开始读取信息。 我不想这样,因为我想手动控制所有东西。我不得不从后面的代码中明确地处理这个问题。
我可以关闭浏览器的自动绑定吗?
答
在web.config中,您可以为您的应用程序强制使用特定的文化。对于en-US
,你可以使用这个。
的Web.config
<system.web>
<globalization culture="en" uiCulture="en-US"/>
...
</system.web>
在您的代码隐藏,然后你可以随意使用覆盖:
var lang = "en-AU";
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(lang);
Thread.CurrentThread.CurrentUICulture = new CultureInfo(lang);