0

Есть ли способ использовать значения объекта в модели представления?Повторное использование DisplayAttributes с свойствами модели представления

public partial class Catalog 
{ 
    [Display(ResourceType = typeof(Resources), Name = "ID")] 
    public string ID { get; set; } 

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

public class CatalogViewModel 
{ 
    private readonly Catalog _catalog; 

    // I want reuse Catalog.CatalogName's display values. 
    public String CatalogName 
    { 
    get { return _catalog.CatalogName; } 
    } 
} 

Я не могу получить доступ к Ресурсам из модели просмотра.

ответ

0

Обычно вы не использовали бы объекты домена в моделях просмотра так, как вы это делаете здесь. Объяснение, почему это не хорошая практика (хотя функционально она будет работать) является here. Что вам нужно сделать, так это определить вашу модель обзора из строк и ints (примитивов) и использовать что-то вроде AutoMapper для отображения между ними. На веб-сайте реальной жизни редко бывает, что модель домена будет отображаться один к одному для просмотра модели, как правило, модель просмотра предназначена для определенного вида, сохраняя всю необходимую информацию из нескольких таблиц.

Возвращаясь к вашему вопросу: то, вид модель определяется в соответствии с передовой практикой я только что описал, вы, конечно, можно (и нужны) определить все аннотации и проверки (с использованием fluent validation или data annotation)

Надеется, что это помогает, пожалуйста, дай мне знаете, если нет.

Смежные вопросы