我知道我做的事情本质上是错误的,但我无法弄明白......
我的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。我做错了什么?
谢谢!
答案 0 :(得分:3)
您应该覆盖网页类的InitializeCulture()方法,并将Page.Culture
和Page.UICulture
设置为特定的文化fr-CA
:
protected override void InitializeCulture()
{
base.InitializeCulture();
Page.Culture = Page.UICulture = "fr-CA";
}