Fehlerbehebung mit ASP.NET -MVC -Formarray -Einreichung mit jQuery
Dieser Artikel befasst sich mit einem gemeinsamen Problem: Senden eines Formulararrays mit ASP.NET MVC und JQuery, was zu einer Null -Referenz -Ausnahme führt, wenn versucht wird, auf die Array -Daten im Controller zuzugreifen. Das Problem tritt typischerweise auf, wenn die Array -Elemente des Formulars für die korrekte Modellbindung nicht ordnungsgemäß indiziert sind.
Das Szenario beinhaltet das Senden eines IEnumerable<BatchProductViewModel>
an den Server. Die Lösung erfordert die Erzeugung von Formularsteuerungen in einer Schleife, um sicherzustellen, dass jedes Element mit Indexer korrekt benannt wird. Darüber hinaus sollte die serverseitige Modelleigenschaft (BatchProducts
) ein IList<BatchProductViewModel>
sein, um dynamische Arraygrößen aufzunehmen.
Hier ist ein korrigiertes Code -Beispiel, das das ordnungsgemäße Array -Handling zeigt:
@using (Html.BeginForm("Save", "ConnectBatchProduct", FormMethod.Post)) { // ... other form elements ... // Correctly indexed form elements for the array // This loop ensures each element in the array has a unique index // The indexer is crucial for proper model binding for (int i = 0; i < Model.BatchProducts.Count; i++) { @Html.HiddenFor(model => model.BatchProducts[i].ProductId) // Example property @Html.TextBoxFor(model => model.BatchProducts[i].ProductName) // Example property // ... other properties for BatchProductViewModel ... } // ... rest of the form ... <input type="submit" value="Save" /> }
Bei diesen Anpassungen wird die Save
-Kaktionsmethode im ConnectBatchProduct
Controller ein besiedeltes ConnectBatchProductViewModel
-Objekt, einschließlich seiner BatchProducts
-Liste, korrekt empfangen.
Dynamisches Array -Management (hinzufügen/entfernen)
Für die dynamische Addition und Entfernung von BatchProductViewModel
Elementen mit JQuery sollten Sie den BeginCollectionItem
-Helfer verwenden oder eine benutzerdefinierte HTML -Vorlage erstellen, um die Array -Elemente effizient zu verwalten. (Weitere Details zu diesen Techniken finden Sie in [relevanten Online -Ressourcen/Links - , falls verfügbar ]
Das obige ist der detaillierte Inhalt vonWie kann ich erfolgreich ein Formulararray mit ASP.NET MVC und JQuery veröffentlichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!