ASP.NET MVC - exactement Comment utiliser des Modèles de Vue

Disons que j'ai une page qui permet l'édition d'un utilisateur de détails, j'ai donc un ViewModel comme ceci:

public class UserViewModel {
    public string Username { get; set; }
    public string Password { get; set; }
    public int ManagerId { get; set; }
    public string Category { get; set; }
}

Donc sur mon EditUser action que je peux avoir cette passé par le modèle de classeur et puis je peux la carte que pour le Modèle de Domaine:

public ActionResult EditUser(UserViewModel user) {
    ...

Néanmoins, la page qui affiche le formulaire doit également des détails tels qu'une liste des Gestionnaires et des Catégories de fournir des listes déroulantes pour ces champs. Il peut également afficher une liste des autres utilisateurs dans une barre latérale de sorte que vous pouvez basculer entre les différents utilisateurs du montage.

Donc, puis-je avoir un autre point de vue modèle:

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; }
}

Est-ce la bonne façon de le faire? Sont-ils à la fois les Modèles de Vue? Si oui, est-il une convention de nommage que je devrais utiliser afin que je puisse distinguer entre les machines virtuelles qui sont comme les modèles et les machines virtuelles qui ne contiennent que les données de la page?

Ai-je eu ce tort et à travers?

InformationsquelleAutor littlecharva | 2013-05-14