ListBoxFor unverbindlich mein viewmodel
Ich weiß, tis Frage gestellt wurde ganz Zut SO.
Aber ich kann immer noch nicht herausfinden, das problem.
Baue ich einen blog, um mir selbst beibringen das MVC-framework. Nun wenn ich die Ansicht unter, Die ListBoxFor Helfer bindet nicht alle Werte, die zu meinem Modell. Die Liste erfolgreich enthält alle Kategorien, aber wenn die POST controller wird wieder das view-Modell die Kategorien-Objekt null ist.
Hier ist das View-Model:
public class PostViewModel
{
public Post Posts { get; set; }
public IEnumerable<Category> Categories { get; set; }
}
Controller:
public ActionResult Create()
{
PostViewModel post = new PostViewModel();
post.Categories = db.ListCategories();
return View(post);
}
Ansicht:
<p>@Html.ListBoxFor(model => model.Categories, new MultiSelectList(Model.Categories, "CategoryID", "CategoryName"))</p>
- Sind Sie immer den null-Wert in deinem POST handeln oder wenn Sie versuchen, zu Rendern die gleiche Ansicht nach der POST-Aktion?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, Sie haben sollte eine array-Eigenschaft im view-Modell, das die ausgewählten IDs gebunden wird.
Und ändern Sie Ihre
Html.ListBoxFor
Aufruf für dieSelectedCategoryIds
Eigenschaft.Nebenbei: Jetzt, dass Sie eine Liste erstellen die Kontrollkästchen für die
SelectedCategoryIds
Eigenschaft, wenn Sie ein Etikett für die Liste, die Sie ändern sollten, dass dies für dieSelectedCategoryIds
Eigenschaft zu.(
"Categories"
ist der label-text)Nicht 100% sicher, ob ich Ihre Frage zu verstehen; aber dieser code helfen? Es zeigt, wie Sie abholen können die Kategorien ausgewählt wurden, wenn die Buchung das Formular an den server zurück.