ASP.NET本地化不适合我

时间:2010-10-27 21:53:39

标签: asp.net localization webforms

我知道我做的事情本质上是错误的,但我无法弄明白......

我的App_GlobalResources文件夹中有2个资源文件:Global.resx和Global.fr-CA.resx。

我的网络表单上有以下标签:

<asp:Label ID="Label1" runat="server" Text="<%$ Resources:Global, Test %>" />

当我运行表单时,它会正确显示Global.resx中的值。现在,在代码隐藏中,我想手动更改文化以从我的fr-CA resx文件中提取:

Page.UICulture = "fr";
Page.Culture = "fr-CA";

但是,当我重新运行应用程序时,它不会从Global.fr-CA.resx中提取值 - 它仍然来自Global.resx。我做错了什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

您应该覆盖网页类的InitializeCulture()方法,并将Page.CulturePage.UICulture设置为特定的文化fr-CA

protected override void InitializeCulture()
{
    base.InitializeCulture();
    Page.Culture = Page.UICulture = "fr-CA";
}