从资源文件中获取DisplayName

时间:2011-05-20 07:48:35

标签: c# .net asp.net-mvc-3

我在App_GlobalResources文件夹中有特定于文化的资源文件。现在我需要从此资源文件中读取DisplayName属性的值。我正在使用:

[Display(Name = "MerchantName", ResourceType = typeof(Resource))]
public string Merchant { get; set; }

但是我收到以下错误:

  

无法检索属性“名称”,因为本地化失败。类型“Resources.Resource”不是公共的,或者不包含名为“MerchantName”的公共静态字符串属性。

如何解决这个问题?

3 个答案:

答案 0 :(得分:12)

在我的情况下,我不得不将我的资源的Access修饰符从Internal更改为Public。

Public_vs_Internal

默认情况下,所有资源都创建为内部。

答案 1 :(得分:8)

以下链接可为您提供一些见解: DisplayName attribute from Resources?

答案 2 :(得分:0)

Check following:

1. Your resource file access modifier should be declared as PUBLIC
2. It contain a key - MerchantName

   [Display(ResourceType = typeof(Resource), Name = "MerchantName")]
   public string MerchantName{ get; set; }

为了更好地理解,请参考http://www.dotnetlibrary.com/Articles/GetArticles?articleId=20