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 ()
Utilisez Ajax pour publier des données
var formdata = new FormData($('form').get(0));
recevoir le modèle dans le contrôleur
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
ou, si votre modèle n'inclut pas HTTPPOSTEDFILEBASE, considérez la modification suivante:
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
y compris les attributs supplémentaires
[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { }
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');
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!