Erhalten ganzer Modellobjekte aus Formulardaten in MVC
Beim Übertragen ganzer Modellobjekte durch Formulardaten ist es wichtig, deren korrekte Rückkonvertierung sicherzustellen an den Modelltyp im Controller angepasst. So erreichen Sie dies:
JavaScript-Implementierung:
Verwenden Sie FormData, um das gesamte Modell zu serialisieren, anstatt einzelne Eigenschaften manuell anzuhängen:
var formdata = new FormData($('form').get(0));
Dies umfasst auch alle im Formular vorhandenen Dateieingaben.
Ajax Anfrage:
Veröffentlichen Sie die Formulardaten mit Ajax und deaktivieren Sie die automatische Verarbeitung und die Einstellung des Inhaltstyps:
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
Controller-Aktion:
Definieren Sie im Controller eine Aktion, die das Modell als Parameter akzeptiert:
[HttpPost] public ActionResult YourActionName(YourModelType model) { // Perform operations on the model... }
Alternativ, wenn die Modell eine Dateieingabe enthält, sollte der zweite Parameter HttpPostedFileBase für die Dateieigenschaft sein:
[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { // Handle file and perform operations on the model... }
Zusätzlicher Datenanhang:
Bei Bedarf können zusätzliche Eigenschaften angehängt werden zu den Formulardaten hinzufügen mit:
formdata.append('someProperty', 'SomeValue');
Das obige ist der detaillierte Inhalt vonWie übergebe ich ganze Modellobjekte über Formulardaten in MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!