Heim >Backend-Entwicklung >C++ >Wie kann ich komplexe Modelle in Formdaten für MVC -Anwendungen übergeben?
übergeben
In der MVC -Anwendung kann die Übertragung des Modells als Formulardaten als Teil der Formulardaten Herausforderungen mit sich bringen, insbesondere bei der Verarbeitung des gesamten Modellsatzes. Dieser Artikel löst dieses Problem durch eine umfassende Lösung.
Herausforderung: Die Modellserialisierung in JavaScript
Beim Versuch, zu verwenden, um das Modell in den Formulardaten in den Formulardaten in JavaScript anzuhängen, wird das Modell normalerweise als Zeichenfolge serialisiert, was zur Darstellung von "formdata.append("model", model)
" führt. [object object]
Um dieses Problem zu überwinden
Diese Methode serialisiert automatisch Modelle und jede von
Element generierte Datei.<code class="language-javascript">var formdata = new FormData($('form').get(0));</code>
hat die Formulardaten an den Controller <input type="file">
Verwenden Sie AJAX, um serialisierte Formulardaten an den Controller zu veröffentlichen:
Definieren Sie auf der Seite des Controllers einen Vorgang, um die Formulardaten zu erhalten:
<code class="language-javascript">$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });</code>Wenn Ihr Modell nicht
Attribute enthält, verwenden Sie die folgende Operation schwere Last:
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model) { }</code>
Hinzufügen anderer Attribute HttpPostedFileBase
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { }</code>Bei Bedarf können Sie die folgenden Methoden verwenden, um andere Attribute an die Formulardaten anzuhängen:
Das obige ist der detaillierte Inhalt vonWie kann ich komplexe Modelle in Formdaten für MVC -Anwendungen übergeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!