2009-05-14 3 views
1

Ich habe eine ASP.NET MVC-Anwendung, wo ich eine HTML.Listbox habe, wo der Benutzer Elemente hinzufügen kann, in der Webseite. Es sieht aus wie das.HTML.Listbox in MVC wird nicht in FormsCollection angezeigt

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

Und in der Steuerung erhalte ich die Informationen wie folgt.

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

Aber in meinem Benutzer die Eigenschaften RoleGroups immer Null, damit ich die Request.Form.AllKeys überprüfen und die Schlüssel nicht finden können: RoleGroups drin. Ich denke, die Informationen über die Html.Listbox werden nie gesendet, wenn ich das Postback mache!

Was habe ich verpasst?

Antwort

2

oooo Ich muss heute Nacht wirklich schlecht geschlafen haben. Es gibt kein Problem, was ich getan habe, war, dass ich vergessen habe, das Element in der Listbox auszuwählen, nachdem ich sie zur Listbox hinzugefügt habe, also wurde nichts im Postback gesendet ...

Nun, es ist jetzt behoben. ..

+0

Eine einfache Lösung ist das Hinzufügen eines Funktionsaufrufs zum OnClick des Absenden-Buttons, der schnell alles in den Listenfeldern auswählt. Dann wird nichts verpasst. –

Verwandte Themen