C# 以编程方式访问asp.net全局资源字符串时出错消息
尝试使用以下代码访问特定的本地化资源文件,例如C# 以编程方式访问asp.net全局资源字符串时出错消息,c#,asp.net,resources,C#,Asp.net,Resources,尝试使用以下代码访问特定的本地化资源文件,例如WebResource.en.us,该文件位于myApp\u GlobalResources文件夹中: string resData = GetGlobalResourceObject("WebResource.en.us", "SomeResource").ToString(); 但这一直给我以下错误: 找不到任何适合指定区域性的资源,或 中立文化。确保“Resources.WebResource.en-us.Resources” 已正确嵌入或链
WebResource.en.us
,该文件位于myApp\u GlobalResources
文件夹中:
string resData = GetGlobalResourceObject("WebResource.en.us", "SomeResource").ToString();
但这一直给我以下错误:
找不到任何适合指定区域性的资源,或
中立文化。确保“Resources.WebResource.en-us.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" ..... %>
My App_GlobalResources文件夹包含两个文件
- WebResource.resx
- WebResource.en-US.resx
另请参见是的,我尝试过类似的方法,如果我删除区域性符号,它确实会像您所说的那样起作用,但我需要这样做,因为我需要访问多个区域性资源文件。如果您需要访问另一个区域性的资源文件,请更改区域性。当当前区域性为B时,访问区域性a的资源文件的原因可能是什么?原因是我需要访问一个资源字符串,该字符串包含每个国家/地区(存储在该国家/地区的本地化资源文件中)的分销商地址详细信息,需要独立于所选区域性进行访问。因此,即使选择的文化是英国,用户也可能需要了解我们的经销商详细信息。答案可能是将这些细节保存在web.config中的应用程序级变量中,而不是我认为的资源文件中。