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
Freigeben: 2025-01-31 11:06:11
Original
647 Leute haben es durchsucht

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:

public enum ItemTypes
{
    Movie = 1,
    Game = 2,
    Book = 3
}
Nach dem Login kopieren

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:

@Html.EnumDropDownListFor(x => x.YourEnumField, "Select Item Type", new { @class = "form-control" })
Nach dem Login kopieren

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:

@Html.DropDownList("MyType", EnumHelper.GetSelectList(typeof(ItemTypes)), "Select Item Type", new { @class = "form-control" })
Nach dem Login kopieren

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:

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);
        }
    }
}
Nach dem Login kopieren

Diese Erweiterungsmethode vereinfacht den Prozess:

ViewData["taskStatus"] = task.Status.ToSelectList();
Nach dem Login kopieren

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!

Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage