Maison >développement back-end >C++ >Comment remplir une liste déroulante avec des valeurs d'énumération dans ASP.NET MVC?

Comment remplir une liste déroulante avec des valeurs d'énumération dans ASP.NET MVC?

Susan Sarandon
Susan Sarandonoriginal
2025-01-31 11:16:13510parcourir

How to Populate a DropDownList with Enum Values in ASP.NET MVC?

Dans le MVC ASP.NET, utilisez la valeur d'énumération pour remplir la liste de drop -down

Créez une liste de drop -down avec une valeur énumérée dans ASP.NET MVC, qui peut être facilement implémentée à l'aide de la méthode d'extension

. Pour utiliser cette méthode avec énumération, suivez les étapes suivantes:

Html.DropDownList pour MVC V5.1 (et version supérieure):

Utiliser Méthode:

pour MVC V5 (et versions inférieures): Html.EnumDropDownListFor

<code class="language-csharp">@Html.EnumDropDownListFor(
    x => x.YourEnumField,
    "请选择类型",
    new { @class = "form-control" }
)</code>
Utiliser Classe:

Si vous utilisez des versions MVC 5 ou inférieures, vous pouvez utiliser la méthode d'extension pour étendre la solution Rune:

EnumHelper Cela permet d'utiliser une syntaxe simple:

<code class="language-csharp">@Html.DropDownList("MyType",
    EnumHelper.GetSelectList(typeof(MyType)),
    "请选择类型",
    new { @class = "form-control" }
)</code>

N'oubliez pas de contenir

d'espace de dénomination pour utiliser cette méthode d'extension.
<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>

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