ASP.NET MVC - как именно использовать View Models
Позволять'скажем, у меня есть страница, которая позволяет редактировать пользователядетали, поэтому у меня есть ViewModel, как это:
public class UserViewModel {
public string Username { get; set; }
public string Password { get; set; }
public int ManagerId { get; set; }
public string Category { get; set; }
}
Таким образом, в моем действии EditUser я могу передать это обратно механизмом связывания модели, а затем сопоставить его с моделью предметной области:
public ActionResult EditUser(UserViewModel user) {
...
Однако странице, которая отображает форму, также нужны подробности, такие как список менеджеров и категорий, чтобы обеспечить раскрывающиеся списки для этих полей. Он также может отображать список других пользователей на боковой панели, чтобы вы могли переключаться между различными пользователями, которых выповторное редактирование.
Итак, у меня есть другая модель представления:
public class ViewUserViewModel {
public UserViewModel EditingUser { get; set; }
public IEnumerable Managers { get; set; }
public IEnumerable Categories { get; set; }
public IEnumerable AllUsers { get; set; }
}
Это правильный способ сделать это? Это обе модели просмотра? Если да, есть ли соглашение об именах, которое я должен использовать, чтобы различать виртуальные машины, которые похожи на модели, и виртуальные машины, которые просто содержат данные для страницы?
Я все понял неправильно?