首頁 > 後端開發 > C++ > 如何在ASP.NET MVC中填充具有枚舉值的下拉列表?

如何在ASP.NET MVC中填充具有枚舉值的下拉列表?

Susan Sarandon
發布: 2025-01-31 11:16:13
原創
587 人瀏覽過

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

在 ASP.NET MVC 中使用枚舉值填充下拉列表

在 ASP.NET MVC 中創建使用枚舉值填充的下拉列表,可以使用 Html.DropDownList 擴展方法輕鬆實現。要將此方法與枚舉一起使用,請按照以下步驟操作:

對於 MVC v5.1(及更高版本):

使用 Html.EnumDropDownListFor 方法:

@Html.EnumDropDownListFor(
    x => x.YourEnumField,
    "请选择类型",
    new { @class = "form-control" }
)
登入後複製

對於 MVC v5(及更低版本):

使用 EnumHelper 類:

@Html.DropDownList("MyType",
    EnumHelper.GetSelectList(typeof(MyType)),
    "请选择类型",
    new { @class = "form-control" }
)
登入後複製

如果您使用的是 MVC 5 或更低版本,您可以使用擴展方法擴展 Rune 的解決方案:

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);
        }
    }
}
登入後複製

這允許使用簡潔的語法:

ViewData["taskStatus"] = task.Status.ToSelectList();
登入後複製

請記住包含 MyApp.Common 命名空間以利用此擴展方法。

以上是如何在ASP.NET MVC中填充具有枚舉值的下拉列表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板