ASP.NET MVC vereinfacht die Erstellung von Dropdown -Listen aus Aufzählungen mithilfe der Erweiterungsmethode Html.DropDownList
. Dieser Leitfaden zeigt effiziente Techniken zur Implementierung dieser Funktionalität.
für MVC -Versionen 5.1 und später rationalisiert die Html.EnumDropDownListFor
-Methode den Prozess. Geben Sie einfach die Modelleigenschaft an, die die Aufzählung, ein Dropdown -Etikett und alle gewünschten HTML -Attribute darstellt.
@Html.EnumDropDownListFor(x => x.YourEnumField, "Select Your Option", new { @class = "form-control" })
Für MVC Version 5 bietet die EnumHelper
-Klasse eine bequeme Alternative. Verwenden Sie GetSelectList
, um eine SelectList
zu erhalten, die die Aufzählung darstellt:
@Html.DropDownList("MyOption", EnumHelper.GetSelectList(typeof(MyOption)), "Select Your Option", new { @class = "form-control" })
Für MVC -Versionen 5 und früher liefert eine benutzerdefinierte Erweiterungsmethode (wie von Rune Westergren vorgeschlagen) eine kurze Lösung:
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); } } }
Diese Erweiterungsmethode ermöglicht eine sauberere Syntax:
ViewData["taskStatus"] = task.Status.ToSelectList();
Wählen Sie die für Ihre MVC -Version am besten geeignete Methode, um Dropdown -Listen effizient aus Ihren Aufzählungen zu generieren.
Das obige ist der detaillierte Inhalt vonWie erstelle ich Dropdown -Listen aus Aufzählungen in ASP.NET MVC?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!