Maison >développement back-end >C++ >Comment ajouter un modèle pour former et le recevoir comme modèle dans un contrôleur MVC?

Comment ajouter un modèle pour former et le recevoir comme modèle dans un contrôleur MVC?

Patricia Arquette
Patricia Arquetteoriginal
2025-02-02 21:56:10950parcourir

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

Ajoutez le modèle à FormData dans le MVC et recevez-le en tant que modèle

Cet article fournit une solution complète pour résoudre les problèmes courants qui transmettent le modèle complet défini via FormData et l'utiliser comme accès de modèle dans le contrôleur.

La méthode traditionnelle consiste à ajouter l'objet modèle en tant que chaîne au formdata, ce qui fera que la demande. Afin de surmonter cette limite, une meilleure méthode peut être utilisée:

Utiliser le modèle sérialisé FormData ()

En utilisant la fonction formdata (), le modèle peut être efficacement sérialisé en formdata. Cela inclura automatiquement les fichiers téléchargés téléchargés via le formulaire HTML.

Utilisez Ajax pour publier des données
<code class="language-javascript">var formdata = new FormData($('form').get(0));</code>

Pour publier les données du modèle sérialisé au contrôleur, veuillez utiliser la demande AJAX suivante:

recevoir le modèle dans le contrôleur
<code class="language-javascript">$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});</code>

Dans le contrôleur, vous pouvez recevoir des données de modèle sérialisées via un paramètre de modèle de type fort:

ou, si votre modèle n'inclut pas HTTPPOSTEDFILEBASE, considérez la modification suivante:
<code class="language-csharp">[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}</code>

y compris les attributs supplémentaires
<code class="language-csharp">[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
}</code>

Si vous devez inclure d'autres informations autres que le contenu du formulaire, vous pouvez utiliser la grammaire suivante pour ajouter efficacement les attributs:

Grâce à ces technologies, vous pouvez ajouter de manière transparente des données de modèle à FormData, afin qu'il soit pratique de le transmettre en tant que type de modèle dans la méthode de fonctionnement du contrôleur.
<code class="language-javascript">formdata.append('someProperty', 'SomeValue');</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn