Eine Teilansicht, die eine Sammlung mit dem Html.BeginCollectionItem-Helfer übergibt
Diese Frage untersucht das Problem der Übergabe einer Sammlung von Objekten an eine Teilansicht Anzeigen und erfolgreiches Zurücksenden der Daten an den Controller. Trotz scheinbar korrekter Implementierung schlug die AddRecord()-Methode fehl und der BeginCollectionItem-Helfer generierte nicht das erforderliche versteckte Tag für neu hinzugefügte Felder.
Analyse des Problems
Die Ursache des Problems liegt in der Diskrepanz zwischen dem vom Controller erwarteten Objekttyp und den gesendeten Daten. Im bereitgestellten Code wurde das Ansichtsmodell in CashRecipientVM geändert, aber die Controller-Aktion erwartete immer noch ein Modell vom Typ CashRecipient.
Lösung
Um dieses Problem zu beheben, Folgende Schritte wurden durchgeführt:
Erstellung eines ViewModels (CashRecipientVM):
Teilansicht (_Recipient.cshtml):
Recipient()-Methode (im Controller):
Haupt-GET-Methode (Create):
Hauptansicht:
Javascript:
Aktualisieren Sie die POST-Aktion des Formulars (Erstellen):
Durch die Implementierung dieser Änderungen bindet die Anwendung nun erfolgreich die CashRecipientVM-Daten, ermöglicht das dynamische Hinzufügen und Entfernen von Empfängern und übermittelt die Daten korrekt an den Controller.
Das obige ist der detaillierte Inhalt vonWie übergebe ich erfolgreich eine Sammlung an eine Teilansicht und handhabe die Datenübermittlung in ASP.NET MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!