Die Werte der ViewModel-Auflistungseigenschaft nach dem Zurückschreiben an die Controller-Aktion in MVC 3

8

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!

    
marvs 10.03.2012, 13:04
quelle

3 Antworten

10

probiere

aus %Vor%

lesen Sie auch diesen Blogeintrag zu verstehen, wie Modellbindung an eine Liste funktioniert

    
Rafay 10.03.2012, 13:17
quelle
0

Sie verlieren Ihre Liste, weil MVC die Liste nicht so behandelt, wie Sie denken.

Sie sollten BeginCollectionItem verwenden diesen Beitrag

    
Iridio 10.03.2012 13:10
quelle
0

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.

    
Danilo Venegas 07.10.2017 23:15
quelle