我已經爲DisplayName編寫了自定義屬性,如下所示。MVC自定義顯示屬性
namespace CRM.Model
{
public class LocalizedDisplayNameAttribute : DisplayNameAttribute
{
private readonly string resourcekey;
public LocalizedDisplayNameAttribute(string resourceId)
: base(GetMessageFromResource(resourceId))
{
}
public static string GetMessageFromResource(string resourceId)
{
// My Localization logic
return LocalizationResourceProvider.Current.GetString(resourceId);
}
}
}
當模型第一次加載/啓動時,上述自定義屬性類被成功調用。
但是,如果我將回發頁面,那麼它不會被調用。
例如,當我將我的語言從英語更改爲法語時。它仍然顯示英文內容。
爲什麼是這樣?我該如何解決這個問題?我們可以加載模型數據明確
喲確實有一個可以使用[Display(ResourceType = typeof(yourResxClass),Name =「ResourceName」)]的本地化System.ComponentModel.DataAnnotations.DisplayAttribute。 – AlexC 2014-10-16 14:09:54
你能給我舉個例子嗎?我不想直接訪問Resources.Resources。它應該從我的自定義邏輯中調用 – David 2014-10-16 16:03:06