Heim >Backend-Entwicklung >C++ >Wie kann ich ein Modell anhängen, um es als Modell in einem MVC -Controller als Modell zu empfangen?

Wie kann ich ein Modell anhängen, um es als Modell in einem MVC -Controller als Modell zu empfangen?

Patricia Arquette
Patricia ArquetteOriginal
2025-02-02 21:56:10999Durchsuche

How to Append a Model to FormData and Receive it as a Model in an MVC Controller?

Fügen Sie das Modell in Formdata im MVC hinzu und empfangen Sie es als Modell

Dieser Artikel enthält eine vollständige Lösung, um die häufigsten Probleme zu lösen, die das vollständige Modell über FormularData übertragen und als Modellzugriff im Controller verwenden.

Die herkömmliche Methode besteht darin, das Modellobjekt als Zeichenfolge zum FormularData hinzuzufügen, wodurch die im Controller festgelegte Request.Form das "[Objektobjekt]" eingestellt ist. Um diese Grenze zu überwinden, kann eine bessere Methode verwendet werden:

serialisiertes Modell

verwenden

Verwenden von FormData () -Funktion kann das Modell effektiv in FormData serialisiert werden. Dadurch werden automatisch Dateien enthalten, die über das HTML -Formular hochgeladen wurden.

<code class="language-javascript">var formdata = new FormData($('form').get(0));</code>
Verwenden Sie AJAX, um Daten

zu veröffentlichen

Um die serialisierten Modelldaten an den Controller zu veröffentlichen, verwenden Sie bitte die folgende AJAX -Anfrage:

<code class="language-javascript">$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});</code>
Empfangen Sie das Modell im Controller

Im Controller können Sie serialisierte Modelldaten über einen starken Typmodellparameter empfangen:

<code class="language-csharp">[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}</code>
oder, wenn Ihr Modell nicht httppostedDeBase enthält, betrachten Sie die folgende Änderung:

<code class="language-csharp">[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
}</code>
einschließlich zusätzlicher Attribute

einschließlich der Attribute

Wenn Sie andere Informationen als den Inhalt des Formulars einfügen müssen, können Sie die folgende Grammatik verwenden, um Attribute effektiv hinzuzufügen:

<code class="language-javascript">formdata.append('someProperty', 'SomeValue');</code>
Durch diese Technologien können Sie nahtlos Modelldaten zu Formdata hinzufügen, damit es bequem als Modelltyp in der Betriebsmethode des Controllers übertragen wird.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Modell anhängen, um es als Modell in einem MVC -Controller als Modell zu empfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn