Maison > interface Web > js tutoriel > Comment transmettre des objets de modèle entiers via des données de formulaire dans MVC ?

Comment transmettre des objets de modèle entiers via des données de formulaire dans MVC ?

Barbara Streisand
Libérer: 2024-12-20 03:54:10
original
733 Les gens l'ont consulté

How to Pass Entire Model Objects via Form Data in MVC?

Obtention d'objets de modèle entiers à partir de données de formulaire dans MVC

Lorsque vous transmettez des objets de modèle entiers via des données de formulaire, il est essentiel de garantir leur conversion correcte. au type de modèle dans le contrôleur. Voici comment y parvenir :

Implémentation de JavaScript :

Utilisez FormData pour sérialiser l'intégralité du modèle plutôt que d'ajouter manuellement des propriétés individuelles :

var formdata = new FormData($('form').get(0));
Copier après la connexion

Cela inclura également toutes les entrées de fichiers présentes dans le formulaire.

Ajax Demande :

Publiez les données du formulaire à l'aide d'Ajax, en désactivant le traitement automatique et le paramètre de type de contenu :

$.ajax({
  url: '@Url.Action("YourActionName", "YourControllerName")',
  type: 'POST',
  data: formdata,
  processData: false,
  contentType: false,         
});
Copier après la connexion

Action du contrôleur :

Dans le contrôleur, définissez une action qui accepte le modèle en paramètre :

[HttpPost]
public ActionResult YourActionName(YourModelType model)
{
    // Perform operations on the model...
}
Copier après la connexion

Alternativement, si le modèle contient une entrée de fichier, le deuxième paramètre doit être HttpPostedFileBase pour la propriété de fichier :

[HttpPost]
public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage)
{
    // Handle file and perform operations on the model...
}
Copier après la connexion

Appendice de données supplémentaires :

Si nécessaire, des propriétés supplémentaires peuvent être ajouté aux données du formulaire en utilisant :

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!

source:php.cn
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