Ich habe ein Modell, ApplicantBranchList
, das als Eigenschaft in einem größeren Modell wie folgt verwendet wird:
ApplicantBranchList
:
ApplicantBranchList
hat eine eigene Editor-Vorlage und eine innere Editor-Vorlage für jedes Element in ApplicantBranchList
:
Ansichten / Freigegeben / EditorTemplates / ApplicantBranchList.cshtml:
%Vor%Ansichten / Freigegeben / EditorTemplates / ApplicantBranchItem.cshtml:
%Vor%Dieser Editor rendert richtig in der Ansicht, aber in der Postaktion:
%Vor% PreferedBranches.Items
ist null
.
Was mache ich falsch?
Mit MVC- und Editor-Vorlagen müssen Sie nicht manuell durch eine Liste navigieren und @HTTLEditorFor aufrufen.
Tun Sie dies:
%Vor%ist dasselbe wie:
%Vor%MVC übernimmt die Iteration durch Ihre Artikel und generiert Ihre Editor-Vorlage einmal pro Artikel. Wie in den Kommentaren erwähnt, muss Ihre Vorlage genauso benannt sein wie Ihr Modell. Außerdem sollte Ihre Modelldefinition eine eindeutige Darstellung Ihres Modells sein, nicht des Typs IEnumerable. Schließlich, wie in den Kommentaren erwähnt, wenn Sie den Template-Namen Parameter in Ihrem Aufruf an @ Html.EditorFor () angeben, haben Sie nicht den Vorteil der automatischen Iteration über Ihre Sammlung. Sie müssen wie oben gezeigt manuell iterieren.
Tags und Links asp.net-mvc asp.net-mvc-3 asp.net-mvc-4