2011-05-20 69 views
8

我在App_GlobalResources文件夾中有文化特定的資源文件。現在我需要從這個資源文件中讀取DisplayName屬性的值。我使用:從資源文件獲取顯示名稱

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

,但我收到以下錯誤:

Cannot retrieve property 'Name' because localization failed. Type 'Resources.Resource' is not public or does not contain a public static string property with the name 'MerchantName'.

我該如何解決這個問題?

+0

可能重複[DisplayName屬性來自資源?](http://stackoverflow.com/questions/2431333/displayname-attribute-from-resources) – 2011-05-20 08:42:12

回答

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

+0

如果兩個條件都滿足,但它仍然不起作用? – Azimuth 2017-11-17 13:32:22

10

在我來說,我不得不改變從內部資源我的公共訪問修飾符。

Public_vs_Internal

默認情況下,所有的資源都爲內部創造。

+0

這也適用於我。我在代碼中看到了「內部」,但不知道在哪裏改變它。我正要浪費很多時間。謝謝。 – elcool 2015-07-22 15:56:16

+0

它的工作。在它之前,我手動更改資源的修飾符。 – 2017-01-25 12:41:48