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
Libérer: 2025-02-02 21:56:10
original
1027 Les gens l'ont consulté

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
var formdata = new FormData($('form').get(0));
Copier après la connexion

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
$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});
Copier après la connexion

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:
[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
}
Copier après la connexion

y compris les attributs supplémentaires
[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
}
Copier après la connexion

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.
formdata.append('someProperty', 'SomeValue');
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal