Maison >développement back-end >C++ >Comment définir la valeur sélectionnée dans MVC5 Razor `HTML.DROPDOWNLISTFOR` Lorsque la valeur est dans un tableau?

Comment définir la valeur sélectionnée dans MVC5 Razor `HTML.DROPDOWNLISTFOR` Lorsque la valeur est dans un tableau?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-30 00:41:08355parcourir

How to Set Selected Value in MVC5 Razor `Html.DropDownListFor` when Value is in an Array?

Définition des valeurs sélectionnées dans le razor MVC5 Html.DropDownListFor avec les valeurs du tableau

Travailler avec les tableaux et @Html.DropDownListFor() dans ASP.NET MVC 5 pour sélectionner les valeurs peut être délicat. Voici deux approches pour surmonter ce défi:

Méthode 1: Tiration d'EditorTemplates

Cette méthode implique la création d'un éditormplate dédié pour le type de données de la collection. Le SelectList est ensuite transmis à l'EditorTemplate en tant que ViewData supplémentaire.

<code class="language-csharp">// AggregationLevelConfiguration.cshtml (EditorTemplate)
@Html.DropDownListFor(m => m.HelperCodeType, (SelectList)ViewData["CodeTypeItems"])

// Main View
@Html.EditorFor(m => m.Configurations, new { CodeTypeItems = Model.CodeTypeItems })</code>

Cette approche sépare proprement la logique déroulante de la vue principale, améliorant la maintenabilité.

Méthode 2: Génération dynamique de selectlist

Alternativement, vous pouvez remplacer les propriétés IEnumerable par IEnumerable<GenericIdNameType> (remplacer GenericIdNameType par votre type réel). Ensuite, parcourez le tableau dans votre vue principale, créant un nouveau SelectList pour chaque élément et définit la valeur sélectionnée en conséquence.

<code class="language-csharp">// Main View
@for (int i = 0; i < Model.Configurations.Count(); i++)
{
    @Html.DropDownListFor(m => m.Configurations[i].HelperCodeType, 
                           new SelectList(Model.CodeTypeItems, "Id", "Name", Model.Configurations[i].HelperCodeType))
}</code>

Cette méthode est plus directe mais peut devenir moins gérable avec des tableaux plus grands. Envisagez d'utiliser une méthode d'assistance pour résumer la création SelectList pour une meilleure lisibilité si vous choisissez cette approche. N'oubliez pas de régler "Id" et "Name" pour correspondre à vos propriétés réelles.

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