Verwenden von Html.BeginCollectionItem zum Übergeben einer Sammlung an eine Teilansicht
Beim Erstellen eines Formulars, das es Benutzern ermöglicht, mehrere Instanzen eines Modells hinzuzufügen ist es häufig erforderlich, für jede Instanz eine Teilansicht zu rendern. ASP.NET MVC stellt den Html.BeginCollectionItem-Helfer bereit, um diesen Prozess zu erleichtern.
Der BeginCollectionItem-Helfer erstellt eine Tabellenzeile, die die Formularfelder für die aktuelle Instanz des Modells enthält. Wenn das Formular gesendet wird, werden die in diese Felder eingegebenen Daten an die entsprechenden Eigenschaften des Modellobjekts gebunden.
Um BeginCollectionItem zu verwenden, müssen Sie zunächst eine Teilansicht erstellen, die die Formularfelder für eine einzelne Instanz darstellt des Modells. Betrachten Sie beispielsweise die folgende Teilansicht mit dem Namen _Recipient.cshtml:
@model CashRecipientVM <div>
Diese Teilansicht definiert ein Formular mit zwei Textfeldern (für Empfänger und Betrag) und einer Schaltfläche zum Löschen. Der BeginCollectionItem-Helfer stellt sicher, dass jede Instanz des Modells über einen eigenen Satz von Formularfeldern verfügt.
In der Hauptansicht können Sie den BeginCollectionItem-Helfer verwenden, um dem Formular eine Sammlung dieser Teilansichten hinzuzufügen. Zum Beispiel:
@model IEnumerable<CashRecipientVM> @using (Html.BeginForm()) { <div>
Dieser Code erstellt ein Formular mit einer Liste von CashRecipientVM-Objekten. Der BeginCollectionItem-Helfer wird verwendet, um eine Teilansicht für jedes Objekt in der Liste zu rendern.
Das Formular enthält eine Schaltfläche „Hinzufügen“, mit der der Benutzer zusätzliche Instanzen des Modells hinzufügen kann. Wenn auf die Schaltfläche „Hinzufügen“ geklickt wird, wird eine AJAX-Anfrage an den Controller gestellt, um eine weitere Teilansicht abzurufen. Die abgerufene Teilansicht wird dann dem Formular hinzugefügt.
Beim Absenden des Formulars werden die in die Formularfelder eingegebenen Daten an die entsprechenden Eigenschaften der CashRecipientVM-Objekte gebunden. Der Controller kann diese Objekte dann verarbeiten und in der Datenbank speichern.
Das obige ist der detaillierte Inhalt vonWie kann ich Html.BeginCollectionItem verwenden, um mehrere Modellinstanzen in ASP.NET MVC-Teilansichten zu verwalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!