Heim >Web-Frontend >js-Tutorial >Wie übergebe ich ganze Modellobjekte über Formulardaten in MVC?
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!