Ein ganzes Modell durch FormData übergeben und in MVC empfangen
In ASP.NET MVC ist es oft wünschenswert, ein vollständiges Modell zu übergeben Widerspruch über ein Formular an den Verantwortlichen übermitteln. Das einfache Anhängen des Modells an FormData führt jedoch dazu, dass es als String im Controller empfangen wird und somit unbrauchbar wird.
Lösung:
Um ein Modell effektiv zu übergeben Durch FormData kann der folgende Ansatz übernommen werden:
Serialisieren Sie die Modell:
Verwenden Sie die FormData-Funktion von jQuery, um das Modell zu serialisieren. Dadurch wird das Modell in ein FormData-Objekt konvertiert, das sowohl Modelleigenschaften als auch Dateieingaben enthalten kann:
var formdata = new FormData($('form').get(0));
FormData veröffentlichen:
Senden Sie das FormData-Objekt über einen AJAX POST Anfrage:
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
Empfangen Sie das Modell im Controller:
Akzeptieren Sie in der Controller-Aktion das Modell als Parameter des entsprechenden Typs:
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
Optional: Zusätzliche Handhabung Eigenschaften:
Wenn das Modell keine Eigenschaften für zusätzliche Formulardaten enthält, können Sie diese manuell anhängen:
formdata.append('someProperty', 'SomeValue');
Wenn Sie diese Schritte befolgen, können Sie effektiv bestehen Erstellen Sie ein Modell über FormData und empfangen Sie es in einem verwendbaren Format in Ihrem MVC-Controller.
Das obige ist der detaillierte Inhalt vonWie übergebe ich ein vollständiges Modell über FormData an einen ASP.NET MVC-Controller?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!