Ich habe meine Sichtmodelle:
%Vor%Dann hat mein Controller zwei Aktionen, einen get und einen post:
%Vor%Und in meiner Ansicht kann ich das Modell richtig anzeigen und mit @ Html.HiddenFor & lt; & gt; Ich kann Modelldaten so beibehalten, wie ich es wollte. Aber nicht auf der Liste & lt; & gt; Navigationseigenschaft.
%Vor%PROBLEM: POReceiptItems verloren, wenn das Formular gesendet wurde. So weit wie möglich möchte ich nicht TempData ["POReceiptItems"] = Model.POReceiptItems verwenden, aber selbst wenn ich es verwende, wird der in ReceivedQuantity und ReceivedDate eingegebene Wert nicht in die TempData gespeichert.
Vielen Dank im Voraus!
probiere
aus %Vor%lesen Sie auch diesen Blogeintrag zu verstehen, wie Modellbindung an eine Liste funktioniert
Sie verlieren Ihre Liste, weil MVC die Liste nicht so behandelt, wie Sie denken.
Sie sollten BeginCollectionItem
verwenden diesen Beitrag
Ich hatte ein ähnliches Problem, das "List" -Attribut ohne Werte zurückgegeben (count = 0), ich habe verschiedene Wege und Antworten versucht und nither funktioniert. Dann habe ich es selbst versucht und jetzt funktioniert es, das ist meine Lösung:
Ich sende ein Objekt mit einigen normalen Attributen und einer "Liste", danach verwende ich die normalen Attribute und meine "Liste" in einem For. In meinem Controller (Post ActionResult) habe ich im Parameterbereich zwei Parameter hinzugefügt, mein Originalobjekt und meine "Liste" als zweiten Parameter und es funktioniert !!! Ich hoffe das hilft dir und anderen mit ähnlichen Problemen.
Tags und Links asp.net-mvc asp.net-mvc-3 razor viewmodel