ASP.NET - 当标记使用本地化的文件时,为什么在代码隐藏中使用默认的resx文件?

时间:2010-07-13 16:01:21

标签: c# asp.net globalization resx

我正在用C#创建一个ASP.NET Web应用程序,并且必须将应用程序本地化为英语和法语。我创建了两个资源文件:App_GlobalResources \ Resources.resx和包含英语和法语内容的App_GlobalResources \ Resources.fr.resx。

当我将浏览器设置为法语(fr_FR)运行应用程序时,法语内容会在标记中正确显示。

在代码隐藏中,当我从资源访问值时,它仅返回默认的英语值。 e.g。

  

this.CompanyName.Text = string.Format(App_GlobalResources.Resources.CompanyLocationsFormat,companyName);

调试应用程序显示CurrentCulture和CurrentUICulture都正确设置为fr_FR。

任何人都可以解释如何使用文化适当的资源文件来获取代码吗?

非常感谢

(C#,ASP.NET 3.5 SP1,Visual Studio 2008,IE 8.0.7600)

2 个答案:

答案 0 :(得分:0)

您确定法国资源文件中是否存在此特定资源(CompanyLocationsFormat)?如果缺少资源,它将回退到默认资源。

答案 1 :(得分:0)

您是否在web.config的<system.web>部分中有此内容?

<globalization culture="auto" uiCulture="auto" />