2010-10-27 58 views
1

我知道我在做什么根本性的错误,但我不能完全看着办吧......ASP.NET本地化不是为我工作

我有我的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"; 

然而,当我重新运行它不拉从全球价值的应用程序。 fr-CA.resx - 它仍然从Global.resx中删除。我究竟做错了什么?

谢谢!

回答

3

你应该重写你的网页类的InitializeCulture()方法和设置都Page.CulturePage.UICulture特定文化fr-CA

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

我作出改变,但它仍然不能正常工作。 – 2010-10-28 13:32:14

+0

组装的中立文化是什么? – 2010-10-28 13:39:32

+0

它被设置为无。 – 2010-10-28 13:41:02