ASP.NET - 当标记使用本地化文件时,为什么在代码隐藏中使用默认的 resx 文件?
我正在使用 C# 创建 ASP.NET Web 应用程序,并且必须将该应用程序本地化为英语和法语。我创建了两个资源文件:App_GlobalResources\Resources.resx 和 App_GlobalResources\Resources.fr.resx 包含英语和法语内容。
当我在浏览器设置为法语 (fr_FR) 的情况下运行应用程序时,法语内容会正确显示在标记中。
在代码隐藏中,当我从资源访问值时,它仅返回默认的英文值。例如
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)
I am creating an ASP.NET web application in C#, and have to localize the application into English and French. I have created two resources files: App_GlobalResources\Resources.resx and App_GlobalResources\Resources.fr.resx containing the english and french content.
When I run the application with my browser set to French (fr_FR), the french content is correctly displayed in the markup.
Within the code-behind, when I access values from the resources, it returns the default english values only. e.g.
this.CompanyName.Text = string.Format(App_GlobalResources.Resources.CompanyLocationsFormat, companyName);
Debugging the app shows that the CurrentCulture and CurrentUICulture are both correctly set to fr_FR.
Can anyone explain how I can get the code-behind to use the culturally-appropriate resource file?
Many thanks
(C#, ASP.NET 3.5 SP1, Visual Studio 2008, IE 8.0.7600)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您确定该特定资源 (CompanyLocationsFormat) 存在于法语资源文件中吗?如果缺少某个资源,它将回退到默认资源。
Are you certain that this specific resource (CompanyLocationsFormat) exists in the french resources file? If a resource is missing, it will fall back to the default one.
web.config 的
部分中是否有此内容?Do you have this in your
<system.web>
section in web.config?