如何从ASP.NET MVC中的枚举创建下拉列表?

如何从ASP.NET MVC中的枚举创建下拉列表?,第1张

如何从ASP.NET MVC中的枚举创建下拉列表? 对于MVC v5.1,请使用Html.EnumDropDownListFor
@Html.EnumDropDownListFor(    x => x.YourEnumField,    "Select My Type",     new { @class = "form-control" })

对于MVC v5,请使用EnumHelper
@Html.DropDownList("MyType",    EnumHelper.GetSelectList(typeof(MyType)) ,    "Select My Type",    new { @class = "form-control" })

对于MVC 5及更低版本

我将符文的答案扩展为扩展方法:

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

通过

using MyApp.Common



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5150964.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存