Maison >interface Web >js tutoriel >Comment ajouter et recevoir un modèle via FormData dans ASP.NET MVC ?

Comment ajouter et recevoir un modèle via FormData dans ASP.NET MVC ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-22 06:12:10930parcourir

How to Append and Receive a Model via FormData in ASP.NET MVC?

Ajout et réception d'un modèle dans Formdata

Pour transmettre un objet modèle dans le cadre d'un objet formdata et le récupérer dans le contrôleur, considérez ce qui suit approche :

JavaScript :

  1. Créer un objet FormData :

    var formdata = new FormData($('form').get(0));
  2. Convertir le modèle en JSON en utilisant JSON.stringify() :

    let model = {
      EventFromDate: fromDate,
      EventToDate: toDate,
      ...
    };
    const modelJson = JSON.stringify(model);
  3. Ajouter la chaîne JSON aux données du formulaire :

    formdata.append("model", modelJson);

AJAX Appel :

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

Contrôleur :

  1. Décorez l'action avec l'attribut [HttpPost] pour indiquer qu'elle reçoit des requêtes HTTP POST.
  2. Déclarer un paramètre du modèle approprié tapez :

    [HttpPost]
    public ActionResult YourActionName(YourModelType model)
    {
      // Your code to process the model here...
    }
  3. ASP.NET MVC liera automatiquement la chaîne de modèle JSON au type de modèle approprié.

Cette approche vous permet d'ajouter l'intégralité du modèle comme Données JSON au formdata et récupérez-les dans le contrôleur en tant qu'objet de modèle, vous permettant de travailler avec des modèles complexes dans une action de contrôleur.

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