以编程方式访问asp.net全局资源字符串时出错
本文关键字:资源 字符串 出错 全局 net 编程 方式 访问 asp | 更新日期: 2023-09-27 18:15:33
尝试使用以下代码访问位于App_GlobalResources
文件夹中的特定本地化资源文件(如WebResource.en.us
(:
string resData = GetGlobalResourceObject("WebResource.en.us", "SomeResource").ToString();
但这一直给我以下错误:
找不到任何适合指定区域性或的资源中立文化。确保"Resources.WebResource.enus.Resources"已正确嵌入或链接到程序集中编译时为"App_GlobalResources.bpqqrnv4"。
有什么想法吗?
我尝试了以下代码
Page_Load(....)
{
/// note - i did NOT mention the culture when accesing my resourceFiles
Debug.WriteLineIf(
GetGlobalResourceObject("WebResource", "someResource")!=null,
GetGlobalResourceObject("WebResource", "someResource").ToString());
/// accessing a culture specific resource without changing Page Culture
CultureInfo yourCI = new CultureInfo("en-US");
Debug.WriteLine(
HttpContext.GetGlobalResourceObject(
"WebResource",
"someResource",
yourCI).ToString());
}
我的页面指令
<% Page Culture="en-US" UICulture="en-US" ..... %>
我的App_GlobalResources文件夹包含两个文件
- Web资源.resx
- 网络资源.en-US.resx
使用这些设置和代码,我的调试器打印出的值没有任何问题。当删除WebResource.resx(我的默认资源文件(时,相同的代码会引发异常。
我假设您必须添加默认resx文件并删除GetGlobalResourceObject(…,..(中的显式区域性表示法。
更新:添加了一些代码来访问特定的resx区域性文件另请参阅MSDN