Опитвам се да локализирам свойствата на моя модел, който е разделен dll в моя asp.net mvc проект. използвам DisplayAttribute
за това:
[Display(Name = "InputDate", ResourceType = typeof(Resources.Resource))]
[DataType(DataType.Date)]
public DateTime? DateStart { get; set; }
Ресурсните файлове се създават в проектния модел и имат публичен модификатор.
Когато използвам модел с тази собственост, виждам InputDate
вместо стойността на този ресурсен ключ. Мисля, че не взех предвид нещо свързано с монтажа на модела.
Благодаря ти!
Отговори:
0 за отговор № 1Ето ни:
В Модел:
[Display(Name = "InputDate", ResourceType = typeof(Resources.Resource))]
[DataType(DataType.Date)]
public DateTime? DateStart { get; set; }
Дефинирайте ResourceType на атрибута, така че да търси ресурс
Дефинирайте името на атрибута, който се използва за ключа на ресурса, можете да използвате nameof за силна напечатана поддръжка вместо твърдо кодиране на ключа.
Задайте културата на текущата нишка в контролера.
Resource.Culture = CultureInfo.GetCultureInfo ("YourLocal");
@Html.DisplayNameFor(model => model.DateStart )
Трябва да дефинирате ресурсен ключ в файловете на проекта (.resx) с специфична локализирана стойност.
Това е всичко!