Heim >Backend-Entwicklung >C++ >Warum ist mein ASP.NET -MVC -Formular -Array -Eigenschaft nach der Einreichung null?
In ASP.NET MVC kann ein Formular, das das Objektarray enthält, auf Probleme stoßen. Zum Beispiel:
Ihr Formular enthält mehrere Zeilen, jede Zeile repräsentiert ein Projekt im Array. Sie verwenden JQuery, um Zeilen dynamisch hinzuzufügen und zu löschen. Nach dem Einreichen des Formulars sind die Array -Attribute im Modell jedoch leer.
Lösung:
Um dieses Problem zu lösen, müssen Sie die Kontrolle des Arrays in der für Schleife manuell erzeugen. Dies stellt den richtigen Namen der Kontrolle der Kontrolle sicher.
geänderter Code:
in der Ansicht: im Controller:
Andere Vorsichtsmaßnahmen:
<code class="language-csharp">@using (Html.BeginForm("Save", "ConnectBatchProduct", FormMethod.Post)) { .... <table> .... @for(int i = 0; i < Model.BatchProducts.Count; i++) { <tr> <td>@Html.TextBoxFor(m => m.BatchProducts[i].Quantity)</td> <td>@Html.TextBoxFor(m => m.BatchProducts[i].BatchName)</td> <td> <!-- 包含隐藏输入以跟踪项目索引 --> <a></code>
Wenn Sie die Elemente in der Ansicht hinzufügen und löschen möchten, können Sie die Hilfsmethode oder die HTML -Vorlage
<code class="language-csharp">public ActionResult Save(ConnectBatchProductViewModel model) { .... }</code>verwenden. Zum Beispiel können Sie eine Vorlage zum Hinzufügen neuer Projekte erstellen:
Dann können Sie JavaScript verwenden, um das neue Projekt dynamisch zum Formular hinzuzufügen:
Das obige ist der detaillierte Inhalt vonWarum ist mein ASP.NET -MVC -Formular -Array -Eigenschaft nach der Einreichung null?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!