2009-05-14 3 views
1

J'ai une application ASP.NET MVC où j'ai un HTML.Listbox où l'utilisateur peut ajouter des éléments, dans la page Web. Ça ressemble à ça.HTML.Listbox dans MVC n'apparaît pas dans FormsCollection

<p> 
    <label for="groups">Grupper:</label> 
    <%= Html.ListBox("RoleGroups", (Model != null ? new SelectList(Model.RoleGroups) : new SelectList(new List<BL.Portal.Domain.Model.RoleGroup>(){})))%> 
    <%= Html.ValidationMessage("RoleGroups")%> 

    <br /> 
    <input type="button" id="btnRemoveRoleGroup" name="brnRemoveRoleGroup" value="Ta bort gruppen" /> 
    <input type="button" id="btnAddRoleGrop" name="btnAddRoleGrop" href="#dialogAddRoleGroup" value="Lägg till en grupp" /> 
</p> 

Et dans le contrôleur, je reçois l'information comme ceci.

[RequiresRole(RoleToCheckFor = RoleEnum.UserCreate)] 
[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult CreateEdit(Model.User user, bool newUser, string confirmedpassword) 

Mais dans mon utilisateur les propriétés RoleGroups est toujours nul donc je vérifie les Request.Form.AllKeys et ne trouve pas les clés: RoleGroups là-dedans. Donc je suppose que les informations sur la Html.Listbox ne sont jamais envoyées quand je fais la publication!

Qu'est-ce que j'ai manqué?

Répondre

2

oooo Je dois avoir vraiment mal dormi ce soir. Il n'y a pas de problème, ce que j'ai fait, c'est que j'ai oublié de sélectionner l'élément dans la liste après l'avoir ajouté à la liste, donc bien sûr rien n'a été envoyé dans la publication ...

Eh bien, c'est corrigé maintenant.

+0

une solution facile à ceci est d'ajouter un appel de fonction au OnClick du bouton soumettre qui sélectionne tout rapidement dans les listes. Alors rien n'est manqué. –

Questions connexes