Является ли хорошей идеей использовать общую viewModel для моих экранов администрирования? - PullRequest
0 голосов
/ 24 ноября 2011

У меня есть экраны администрирования MVC, которые я использую для создания / удаления / редактирования и отображения данных. Прямо сейчас у меня есть много viewModels (редактировать / удалять и т. Д.) Для каждого класса модели. Например:

public class cityViewModel () {
   public City City { get; set; }
}
public class buildingViewModel () {
   public Building Building { get; set; }
}

Что я хотел бы знать, так это то, что для меня было бы лучше объединить эти модели представления в одну и использовать эту общую модель. Что-то вроде:

public class adminViewModel () {
   public City City { get; set; }
   public Building Building { get; set; }
}

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

Это должно быть хорошо. Это обычное явление, позволяющее людям создавать страницы просмотра путем объединения нескольких частичных страниц просмотра. И каждая частичная страница просмотра отвечает за отображение конкретного объекта Model. В этом сценарии, как и вы, люди разбивают свои объекты модели на отдельные небольшие объекты модели и создают объединенный объект модели путем объединения этих небольших объектов. Вернемся к тому, что они будут ассоциировать каждый из этих небольших модельных объектов вместе с соответствующими частичными видами. Например,

public class cityViewModel () {
   public City City { get; set; }
}
public class buildingViewModel () {
   public Building Building { get; set; }
}

public class adminViewModel () {
   public City City { get; set; }
   public Building Building { get; set; }
}

А затем на главной странице просмотра:

<% Html.RenderPartial(<View Name>,Model.City) %>
0 голосов
/ 24 ноября 2011

Официальных рекомендаций от создателей asp.net-mvc относительно того, когда и как использовать ViewModels, не существует.Но из практического опыта, модель единого представления должна быть создана для одного представления, 1: 1.Вначале может показаться, что проще использовать модель одного представления для всего, но по мере появления большего количества данных и полей в модели представления вы можете явно исключить атрибуты при привязке к модели, сложные if s при рендеринге представлений и т. Д.Поэтому включайте в вид модели только поля, необходимые для его просмотра.

Также, посмотрите Как мы работаем с MVC - Посмотреть модели от Джимми Богарда

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