Maison > développement back-end > C++ > Comment créer des listes déroulantes à partir d'énumérations dans ASP.NET MVC?

Comment créer des listes déroulantes à partir d'énumérations dans ASP.NET MVC?

Susan Sarandon
Libérer: 2025-01-31 11:26:09
original
559 Les gens l'ont consulté

How to Create Dropdown Lists from Enumerations in ASP.NET MVC?

Génération de listes déroulantes à partir d'énumérations dans ASP.NET MVC

ASP.NET MVC simplifie la création de listes déroulantes à partir d'énumérations à l'aide de la méthode d'extension Html.DropDownList. Ce guide démontre des techniques efficaces pour implémenter cette fonctionnalité.

Pour les versions MVC 5.1 et ultérieurement, la méthode Html.EnumDropDownListFor rationalise le processus. Fournissez simplement la propriété modèle représentant l'énumération, une étiquette déroulante et tout attribution HTML souhaité.

<code class="language-csharp">@Html.EnumDropDownListFor(x => x.YourEnumField, "Select Your Option", new { @class = "form-control" })</code>
Copier après la connexion

Pour MVC version 5, la classe EnumHelper offre une alternative pratique. Utilisez GetSelectList pour obtenir un SelectList représentant l'énumération:

<code class="language-csharp">@Html.DropDownList("MyOption", EnumHelper.GetSelectList(typeof(MyOption)), "Select Your Option", new { @class = "form-control" })</code>
Copier après la connexion

Pour les versions MVC 5 et plus tôt, une méthode d'extension personnalisée (comme suggéré par Rune Westergren) fournit une solution concise:

<code class="language-csharp">namespace MyApp.Common
{
    public static class MyExtensions
    {
        public static SelectList ToSelectList<TEnum>(this TEnum enumObj)
            where TEnum : struct, IComparable, IFormattable, IConvertible
        {
            var values = from TEnum e in Enum.GetValues(typeof(TEnum))
                         select new { Id = e, Name = e.ToString() };
            return new SelectList(values, "Id", "Name", enumObj);
        }
    }
}</code>
Copier après la connexion

Cette méthode d'extension permet une syntaxe plus propre:

<code class="language-csharp">ViewData["taskStatus"] = task.Status.ToSelectList();</code>
Copier après la connexion

Choisissez la méthode la plus appropriée pour que votre version MVC génére efficacement des listes déroulantes à partir de vos énumérations.

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