Maison > développement back-end > C++ > Pourquoi mon formulaire MVC ne parvient-il pas à publier une liste d'objets ?

Pourquoi mon formulaire MVC ne parvient-il pas à publier une liste d'objets ?

Mary-Kate Olsen
Libérer: 2025-01-21 14:33:09
original
324 Les gens l'ont consulté

Why is my MVC form failing to post a list of objects?

Formulaire MVC : échec de la soumission de la liste d'objets

Description du problème

Dans une application MVC, un formulaire contenant une liste d'objets ne soumet pas correctement la liste au contrôleur. Après soumission du formulaire, la liste des objets reçus par le contrôleur est vide.

Solution

Le problème vient de l'index manquant de l'élément de liste dans l'élément de formulaire. Le classeur de modèles nécessite des index pour distinguer les éléments de la liste.

Détails de mise en œuvre

Pour résoudre ce problème, utilisez des modèles au lieu de vues partielles.

1. Créer un modèle d'éditeur

Dans le dossier « EditorTemplates » sous le dossier d'affichage, créez un modèle d'éditeur nommé « PlanCompareViewModel.cshtml ». Placez le code suivant dans votre modèle :

<code>@model PlanCompareViewModel
<div>
    @Html.HiddenFor(p => p.PlanID)
    @Html.HiddenFor(p => p.CurrentPlan)
    @Html.CheckBoxFor(p => p.ShouldCompare)
</div></code>
Copier après la connexion

2. Modifier la vue parent

Mettez à jour la vue parent comme suit :

<code>@model IEnumerable<plancompareviewmodel>
@using (Html.BeginForm("ComparePlans", "Plans", FormMethod.Post, new { id = "compareForm" }))
{
    <div>
        @Html.EditorForModel()
    </div>
}</code>
Copier après la connexion

DisplayTemplates et EditorTemplates gèrent automatiquement l'indexation des collections, garantissant que le classeur de modèles crée la liste correcte d'objets.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal