Dans ASP.NET MVC, la soumission d'un formulaire contenant le tableau d'objets peut rencontrer des problèmes. Par exemple:
Votre formulaire contient plusieurs lignes, chaque ligne représente un projet dans le tableau. Vous utilisez jQuery pour ajouter et supprimer dynamiquement les lignes. Cependant, après avoir soumis le formulaire, les attributs du tableau du modèle sont vides.
Solution:
Pour résoudre ce problème, vous devez générer manuellement le contrôle du tableau dans la boucle pour. Cela garantit le nom correct du contrôle du contrôle.
Code modifié:
dans la vue: dans le contrôleur:
Autres précautions:
@using (Html.BeginForm("Save", "ConnectBatchProduct", FormMethod.Post)) { .... <table> .... @for(int i = 0; i < Model.BatchProducts.Count; i++) { <tr> <td>@Html.TextBoxFor(m => m.BatchProducts[i].Quantity)</td> <td>@Html.TextBoxFor(m => m.BatchProducts[i].BatchName)</td> <td> <!-- 包含隐藏输入以跟踪项目索引 --> <a>
Si vous souhaitez ajouter et supprimer les éléments dans la vue, vous pouvez utiliser la méthode auxiliaire
public ActionResult Save(ConnectBatchProductViewModel model) { .... }
Ensuite, vous pouvez utiliser JavaScript pour ajouter dynamiquement le nouveau projet au formulaire:
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!