Ich habe gekämpft, um eine MultiSelectList von HTML-Helper an ein bestimmtes Modell zu binden.Bindig ListBox Auswahl zu Modelleigenschaften
Modell
In meinem Modell habe ich so etwas wie dieses:
public class DefaultSelection
{
public SelectionItem Selection1 {get;set;}
public SelectionItem Selection2 {get;set;}
public SelectionItem Selection3 {get;set;}
public IEnumerable<SelectionItem> Items{get;set;}
public DefaultSelection()
{
Selection1 = new SelectionItem(true, "Item1");
Selection2 = new SelectionItem(false, "Item2");
Selection3 = new SelectionItem(true, "Item3");
Items = new List<SelectionItem>(new SelectionItem[]
{Selection1,Selection2,Selection3});
}
}
public class SelectionItem
{
public bool Selected {get;set;}
public string Name {get;set;}
public SelectionItem(bool selected, string name)
{
Selected = selected;
Name = name;
}
}
Was ich tun möchte, ist meine ListBox Auswahl an Ausgewählte Eigenschaft eines SelectionItem verbindlich.
Ich habe versucht, dies in meiner Ansicht:
@Html.ListBoxFor(model => model.Items, new MultiSelectList(Model.Items, Model.Items.Where(item => item.Selected)), new { @class = "selectpicker" })
Unfortunatly weder die ausgewählten Elemente werden korrekt angezeigt (nichts ausgewählt ist) noch eine Auswahl hat keine Auswirkungen auf das Modell ...
Gibt es eine Weg, um das zu lösen?
Kann ich diese Artikel Eigenschaft loswerden, denn es ist nur ein Verweis auf die benötigten Eigenschaften?
siehe diese http://stackoverflow.com/a/18363359/4868839 – User3250
Mögliche Duplikat von [Super einfache Implementierung der Multiselect-Listbox in Bearbeiten-Ansicht] (http://stackoverflow.com/questions/18363158/super- simple-implementation-of-multiselect-list-box-in-edit-view) – User3250