Maison >développement back-end >C++ >Comment publier avec succès un tableau de formulaire dans ASP.NET MVC?

Comment publier avec succès un tableau de formulaire dans ASP.NET MVC?

Linda Hamilton
Linda Hamiltonoriginal
2025-02-02 04:12:13984parcourir

How to Successfully POST a Form Array in ASP.NET MVC?

Publier avec succès les tableaux de formulaire dans ASP.NET MVC

Cet article relève des défis rencontrés lors de la soumission des données de formulaire contenant des tableaux dans les applications ASP.NET MVC à l'aide de C # et .NET Framework 4.5.1 ou ultérieure. L'accent est mis sur la publication et la récupération correctes des données de tableau des formulaires dans la méthode d'action du contrôleur.

Comprendre la liaison du tableau dans ASP.NET MVC

Dans ASP.NET MVC, les tableaux sont gérés sous forme de collections, généralement IEnumerable ou IList. Les données de forme de liaison correcte à ces collections nécessitent une syntaxe et une déclaration de modèle spécifiques.

Code révisé pour le post réussi Post

Voici une approche améliorée pour assurer une soumission et une récupération réussies du tableau des formulaires:

Formez le balisage (exemple):

<code class="language-html">@using (Html.BeginForm("Save", "ConnectBatchProduct", FormMethod.Post))
{
    <!-- ... your form elements here ... -->
}</code>

Méthode d'action du contrôleur:

<code class="language-csharp">[HttpPost]
public ActionResult Save(ConnectBatchProductViewModel model)
{
    // Process the model.BatchProducts collection here
    // ...
}</code>

Déclaration du modèle:

Assurez-vous que votre modèle ConnectBatchProductViewModel comprend une propriété déclarée IList<BatchProductViewModel> (ou IEnumerable<BatchProductViewModel>) pour recevoir correctement les données du tableau.

script jQuery modifié (exemple):

<code class="language-javascript">$("#addrow").click(function() {
  var index = (new Date()).getTime();
  var clone = $('#NewBatchProduct').clone();
  clone.find('[name]').each(function() {
    $(this).attr('name', $(this).attr('name').replace(/\[#\]/g, '[' + index + ']'));
  });
  $("table.order-list").append(clone);
});</code>

Ce code jQuery génère dynamiquement des indexes uniques pour chaque élément de tableau, assurant une bonne liaison. Il itère à travers tous les éléments avec un attribut name et met à jour l'attribut name pour inclure l'index unique.

Considérations clés:

  • Type de propriété du modèle: L'étape cruciale consiste à définir la propriété du modèle comme IList<T> ou IEnumerable<T>, où T est le modèle de vue de l'élément de votre tableau individuel.
  • dénomination des éléments de formulaire: Assurez-vous que vos éléments de forme sont correctement nommés pour refléter la structure du tableau (par exemple, BatchProducts[0].ProductName, BatchProducts[1].ProductName, etc.). Le script jQuery modifié aide à y parvenir.
  • Gestion des erreurs: Implémentez la gestion des erreurs appropriée pour gérer gracieusement les problèmes potentiels pendant la soumission du formulaire et le traitement des données.

En suivant ces directives, vous pouvez gérer de manière fiable les soumissions de tableau de formulaire dans vos applications ASP.NET MVC. N'oubliez pas d'adapter les exemples de code à votre modèle et structure de formulaire spécifiques.

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