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<SelectListItem> Managers { get; set; }
    public IEnumerable<SelectListItem> Categories { get; set; }
    public IEnumerable<SelectListItem> AllUsers { get; set; }
}

Это правильный способ сделать это? Это обе модели просмотра? Если да, есть ли соглашение об именах, которое я должен использовать, чтобы различать виртуальные машины, которые похожи на модели, и виртуальные машины, которые просто содержат данные для страницы?

Я все понял неправильно?

Ответы на вопрос(3)

Ваш ответ на вопрос