Использование ViewModel для отображения всех элементов в MVC - PullRequest
0 голосов
/ 17 октября 2011

У меня есть View, который отображает список сущностей (L2Sql), у меня уже есть ViewModel, который содержит некоторые свойства для редактирования / просмотра.Рекомендуется ли передавать IEnumerable в представление для просмотра списка всех сущностей, или было бы целесообразно передать список ViewModel?

HTMS

UPDATE.:

public class CategoryViewModel
   {
      #region Properties

      public IEnumerable<CategoryViewModel> Categories { get; set; }
      public int Id { get; set; }
      public string Name { get; set; }
      public int Order { get; set; }
      public int? ParentCategoryId { get; set; }

      #endregion
   }

Свойство Categories используется представлениями для выпадающего списка, будет ли это приемлемым?

Ответы [ 2 ]

4 голосов
/ 17 октября 2011

IEnumerable<ViewModel> - рекомендуемый способ.Я видел, как многие люди определяли свои модели представлений следующим образом:

public class MyViewModel
{
    public SomeDomainEntity1 Entity1 { get; set; }
    public SomeDomainEntity2 Entity2 { get; set; }
    public IEnumerable<SomeDomainEntity3> Entities3 { get; set; }
}    

На самом деле это неправильное использование моделей представлений.Это не просмотр моделей вообще для меня.Модель представления не должна ссылаться на какую-либо модель предметной области.

0 голосов
/ 17 октября 2011

Если вам нужна только информация из перечислимого, нет ничего плохого в том, чтобы передавать ее непосредственно в представление. Если вам нужна какая-то дополнительная информация (например, текущий пользователь или любая другая вещь), вы должны поместить свой перечисляемый объект как свойство в вашу ViewModel.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...