Я написал собственный атрибут для 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);
}
}
}
Когда модель загружена/инициирована впервые, указанный выше класс специальных атрибутов называется успешно.
Но если, я отправлю обратно страницу, тогда она не будет вызвана.
Например, когда я меняю свой язык с английского на французский. он по-прежнему отображает английский контент.
Почему это так? Как я могу решить эту проблему? Можем ли мы загрузить данные модели явно
Yo do реализовать локализованный System.ComponentModel.DataAnnotations.DisplayAttribute, который можно использовать [Display (ResourceType = typeof (yourResxClass), Name = "ResourceName")]. – AlexC
Не могли бы вы дать мне пример этого? Я не хочу напрямую обращаться к ресурсам. Ресурсы. он должен быть вызван из моей пользовательской логики – David