Maison >développement back-end >C++ >Comment passer des modèles complexes dans les données de forme pour les applications MVC?
Dans l'application MVC, la transmission du modèle en tant que données de formulaire dans le cadre des données de formulaire peut apporter des défis, en particulier lors du traitement de l'ensemble du modèle entier. Cet article résout ce problème en fournissant une solution complète.
Défi: la sérialisation du modèle en javascript
Lorsque vous essayez d'utiliser pour attacher le modèle aux données de formulaire dans les données de formulaire en JavaScript, le modèle est généralement sérialisé sous forme de chaîne, résultant en une représentation "
".
formdata.append("model", model)
Solution: FormData Serialization [object object]
Afin de surmonter ce problème, veuillez utiliser la fonction de construction FormData comme suit le modèle de sérialisation:
Cette méthode sérialisera automatiquement les modèles et tout fichier généré par élément.
<code class="language-javascript">var formdata = new FormData($('form').get(0));</code>a publié les données de formulaire sur le contrôleur
<input type="file">
Sur le côté du contrôleur, définissez une opération pour recevoir les données de formulaire:
Si votre modèle n'inclut pas
<code class="language-javascript">$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });</code>Attributs, veuillez utiliser l'opération suivante Large lourde:
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model) { }</code>Ajouter d'autres attributs
HttpPostedFileBase
<code class="language-csharp">[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { }</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!