不要自动从浏览器绑定文化

时间:2017-09-01 00:31:00

标签: c# asp.net webforms localization

我有一个网页表单页面,想要使用资源文件和标签控件中的元数据来设置代码behide中的语言。参数来自其他地方。

<asp:Label ID="lblTitle" runat="server" Text="" meta:resourcekey="lblTitle"></asp:Label>

然而,以这种方式(meta),它将从浏览器中读取首选语言并自动设置文化。例如,如果来自broswer的perfered语言是en-AU,那么它将从我的追索文件xxxx.aspx.en-AU.resx开始读取信息。 我不希望这样,因为我想手动控制所有内容。我必须从后面的代码中明确处理它。

我可以从浏览器关闭此自动绑定吗?

1 个答案:

答案 0 :(得分:2)

在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);