首页 > 后端开发 > C++ > 如何在ASP.NET MVC中填充具有枚举值的下拉列表?

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

Susan Sarandon
发布: 2025-01-31 11:16:13
原创
577 人浏览过

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 方法:

1

2

3

4

5

@Html.EnumDropDownListFor(

    x => x.YourEnumField,

    "请选择类型",

    new { @class = "form-control" }

)

登录后复制

对于 MVC v5(及更低版本):

使用 EnumHelper 类:

1

2

3

4

5

@Html.DropDownList("MyType",

    EnumHelper.GetSelectList(typeof(MyType)),

    "请选择类型",

    new { @class = "form-control" }

)

登录后复制

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

1

2

3

4

5

6

7

8

9

10

11

12

13

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

        }

    }

}

登录后复制

这允许使用简洁的语法:

1

ViewData["taskStatus"] = task.Status.ToSelectList();

登录后复制

请记住包含 MyApp.Common 命名空间以利用此扩展方法。

以上是如何在ASP.NET MVC中填充具有枚举值的下拉列表?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板