J'essaie de "convertir" ceci en un modèle fortement typé au lieu de ViewData. Mais comment cela devrait-il ressembler?Création de Listbox avec une vue fortement typée?
je suis arrivé dans mon contrôleur:
public ActionResult UserEdit(int? userID)
{
User u;
if (userID == null)
{
u = new User();
}
else
{
u = _us.GetUsers(userID.Value).First();
u.Usergroups.Load();
}
List<int> selectedUsergroupIDs = new List<int>();
foreach (Usergroup item in u.Usergroups)
{
selectedUsergroupIDs.Add(item.UsergroupID);
}
MultiSelectList UsergroupID = new MultiSelectList(_ug.GetUsergroups(), "UsergroupID", "UsergroupName", selectedUsergroupIDs);
ViewData["UsergroupID"] = UsergroupID;
return View("UserEdit", new UserAdminEditViewModel { User = u, Usergroups = _ug.GetUsergroups() });
}
« UsergroupID » dans ce cas, ce qui est nécessaire d'ajouter dans mon modèle et à mon avis?
Merci à l'avance
/M
_ug.GetUsergroups() obtient tous les groupes d'utilisateurs, comment est-ce que j'applique les groupes sélectionnés dans "u.Usergroups" à cela afin qu'il obtienne le bon type etc? Plus de choses dans le modèle? –
Cela fait partie de MultiSelectList. J'ai corrigé une erreur dans ce que j'ai fourni ci-dessus pour retourner la vue et ajouté un peu plus de code. – andymeadows
Par une partie de MultiSelectList, la liste elle-même contient toutes les valeurs, puis les valeurs sélectionnées dans l'objet actuel. – andymeadows