Wie machen Sie das Kontrollkästchen Liste im ASP.Net MVC
Ich habe ein Formular mit einer Liste von Checkboxen. Ein Benutzer kann wählen Sie alle Werte, keine Werte, oder alle dazwischen. Beispiel:
Möchte ich schreiben das Ergebnis auf die Datenbank als eine durch Kommas getrennte Liste. In dem Beispiel oben, "Apfel, Banane". Ich bin ein bisschen verwirrt, wie das Modell zu erstellen und wie man die Ergebnisse aus der View in den Controller in eine Komma-separierte Liste?
Sie sollten veröffentlichen, was haben Sie versucht, so weit..
InformationsquelleAutor PixelPaul | 2016-06-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein Beispiel, wie das zu tun.
HomeModel.cs
HomeController.cs
Index.cshtml
Sollte führen Sie den folgenden innerhalb des Post-Aktion:
Auch, wenn
ModelState.IsValid
istfalse
, wenn re-Hydratisierung der index-Ansicht, dieSelectedFruits
/ Checkboxen werden nicht wiederhergestellt.Sie können die überprüft Umgang mit diesem code
<div class="checkbox"> <label> <input type="checkbox" name="SelectedFruits" value="@item.Value" @if(Model.SelectedFruits.Contains(item.Value)){ <text>checked</text> } /> @item.Text </label> </div>
Ich bin sehr spät zur party hier, aber ist das nicht irgendwie Betrug? Du bist prepopulating die ausgewählten Früchte vor dem senden der Benutzer auf die anzeigen. Ich habe auf der echo - @Guillaume Kommentar hier... Sie fehlt der Auswahl der Handhabung - das ist übrigens die, wo ich bin stolpern.
mich auch, ausgewählten Checkboxen nicht zugeordnet controller
InformationsquelleAutor Win
Können Sie auch Mithilfe von jquery.Keine Notwendigkeit zu ändern, der controller oder die action.Es wird fügen Sie einfach die ausgewählten Kontrollkästchen Wert in der Datenbank-Tabelle-Spalte als ein Koma getrennt.Fügen Sie einfach den code in der View-Seite.
@Html.HiddenFor(model => model.hobbies, new { id = "hobbies" } )
oder ich würde eher verwenden@Html.Hidden("hobbies", string.Join(",", Model.hobbies), new { id = "hobbies" })
zunächst, weil andernfalls erhalten Sie den Wert alsString[]
InformationsquelleAutor rinku Choudhary