我知道我做了一件根本错误的事情,但我不太明白…
我的app_globalresources文件夹中有两个资源文件: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中提取值。我做错什么了?
谢谢!!
您应该覆盖 InitializeCulture() page类的方法,并同时设置 Page.Culture 和 Page.UICulture 到特定的文化 fr-CA :
Page.Culture
Page.UICulture
fr-CA
protected override void InitializeCulture() { base.InitializeCulture(); Page.Culture = Page.UICulture = "fr-CA"; }