Maison > développement back-end > C++ > Comment créer une liste déroulante à partir d'un enum dans ASP.NET MVC?

Comment créer une liste déroulante à partir d'un enum dans ASP.NET MVC?

Susan Sarandon
Libérer: 2025-01-31 11:11:10
original
457 Les gens l'ont consulté

Créez une liste de drop -down à partir d'une énumération dans ASP.NET MVC

Html.DropDownList La méthode d'extension dans ASP.NET MVC fournit un moyen de faciliter la création d'une liste de drop -down. Cependant, l'utiliser avec énumération peut être délicat.

Versions MVC 5.1 et au-dessus: utilisez Html.EnumDropDownListFor

MVC 5.1 a introduit la méthode d'extension Html.EnumDropDownListFor, simplifiant le processus de création d'une liste de drop -down à partir de l'énumération. Exemples comme suit:

@Html.EnumDropDownListFor(
    x => x.YourEnumField,
    "请选择类型", 
    new { @class = "form-control" })
Copier après la connexion
MVC Version 5: Utilisez

EnumHelper

Si vous utilisez MVC 5, vous pouvez utiliser la catégorie

: Microsoft.Web.Mvc.dll dans la concentration du programme EnumHelper

@Html.DropDownList("MyType", 
   EnumHelper.GetSelectList(typeof(MyType)) , 
   "请选择类型", 
   new { @class = "form-control" })
Copier après la connexion
Versions MVC 5 et ci-dessous: utilisez la méthode d'extension

Pour la version précédente de MVC 5, vous pouvez créer une méthode d'extension à convertir en

: SelectList

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);
        }
    }
}
Copier après la connexion
Cela vous permet d'utiliser la méthode

: ToSelectList

ViewData["taskStatus"] = task.Status.ToSelectList();
Copier après la connexion

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 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