使用String从资源文件读取值

时间:2011-10-04 07:58:13

标签: c# resources enums

我有一个包含一些数据的枚举,我也有一个资源文件,其中包含相同的枚举数据但使用不同的翻译

实施例

enum test
{
    Sun =1,
    Mon = 2
}

The resource file : Text.resx

Sun --> Sunday
Mon --> Monday

现在我想从资源文件中获取值,但不是使用

string data = Resources.Text.Sun; 

但是使用我的枚举值,我找到了一些代码,但我有一个例外,代码如下:

string resourceFile = "~/App_GlobalResources/Text.resx";
string filePath = System.AppDomain.CurrentDomain.BaseDirectory.ToString();
ResourceManager resourceManager = ResourceManager.CreateFileBasedResourceManager(resourceFile, filePath, null);
string resourceValue = resourceManager.GetString(myEnum.ToString());

我得到了以下例外

  

无法找到适合指定文化的任何资源(或   磁盘上的中性文化。 baseName的:   〜/ App_GlobalResources / Text.resx locationInfo:fileName:   〜/ App_GlobalResources文件/ Text.resx.resources

请尽快提供帮助

先谢谢

2 个答案:

答案 0 :(得分:6)

资源可能是程序集的一部分。你为什么不使用以下? Resources.ResourceManager.GetString(test.Sun.ToString())

答案 1 :(得分:-1)

如果您使用的是本地资源且资源项的名称是Sun,则可以编写以下内容

GetLocalResourceObject("Sun").ToString();

编辑:不要忘记将资源文件命名为ur网页文件名并使用App_LocalResources: EX:网页 Test.aspx ,然后您的资源文件是 Test.aspx.resx