Heim >Backend-Entwicklung >C++ >Wie kann ich ASP.NET -MVC -Dropdowns mit Aufzählungswerten bevölkern?

Wie kann ich ASP.NET -MVC -Dropdowns mit Aufzählungswerten bevölkern?

Linda Hamilton
Linda HamiltonOriginal
2025-01-31 11:06:11573Durchsuche

How to Populate ASP.NET MVC Dropdowns with Enumeration Values?

Populierung von ASP.NET -MVC -Dropdowns mit Aufzählungswerten

dynamisch besiedelnde Dropdown -Listen mit Aufzählungswerten ist eine häufige Anforderung in der ASP.NET -MVC -Entwicklung. Während die Html.DropDownList -Erweiterungsmethode einen einfachen Ansatz bietet, erfordert die effektive Integration mit Aufzählungen eine sorgfältige Überlegung.

veranschaulichen wir mit einem Beispiel Aufzählungsdelementtypen:

<code class="language-csharp">public enum ItemTypes
{
    Movie = 1,
    Game = 2,
    Book = 3
}</code>

vereinfachter Ansatz (MVC 5.1 und später):

Für MVC -Versionen 5.1 und höher liefert die Html.EnumDropDownListFor -Einweiterung eine prägnante Lösung:

<code class="language-csharp">@Html.EnumDropDownListFor(x => x.YourEnumField, "Select Item Type", new { @class = "form-control" })</code>

Dies bindet den Dropdown direkt an die Enumeigenschaft Ihres Modells.

MVC 5 und früher:

Für ältere MVC -Versionen (5 und früher) bietet die EnumHelper -Elweiterung eine praktikable Alternative:

<code class="language-csharp">@Html.DropDownList("MyType", EnumHelper.GetSelectList(typeof(ItemTypes)), "Select Item Type", new { @class = "form-control" })</code>

Benutzerdefinierte Erweiterungsmethode (für MVC 5 und früher):

Für erweiterte Code -Wiederverwendbarkeit und sauberere Syntax in MVC 5 und früheren Versionen wird eine benutzerdefinierte Erweiterungsmethode empfohlen:

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

Diese Erweiterungsmethode vereinfacht den Prozess:

<code class="language-csharp">ViewData["taskStatus"] = task.Status.ToSelectList();</code>

Dieser Ansatz macht die Integration von Enums in Ihre Dropdown -Listen, die unabhängig von Ihrer MVC -Version verwaltbarer und wartbarer werden. Wählen Sie die Methode, die die MVC -Version und den Codierungsstil Ihres Projekts am besten entspricht.

Das obige ist der detaillierte Inhalt vonWie kann ich ASP.NET -MVC -Dropdowns mit Aufzählungswerten bevölkern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn