c# - 在 ASP.NET Core 下拉列表中显示部分枚举列表

标签 c# enums asp.net-core asp.net-core-mvc

假设我有一个这样的枚举:

public enum ContactPhoneType
{
    [Display(Name = "")]
    None = 0,

    [Display(Name = "Home Phone")]
    HomePhone = 1,

    [Display(Name = "Cell/Mobile Phone")]
    CellMobile = 2,

    [Display(Name = "Work Phone")]
    Work = 3,

    [Display(Name = "Family Member")]
    FamilyMember = 4,

    [Display(Name = "Fax Number")]
    Fax = 5,

    [Display(Name = "Other")]
    Other = 6,
}

我只想显示列表中的前 6 个。我怎样才能隐藏最后一个?

为了显示所有项目,我使用了以下代码:

<div class="form-group">
   <label class="col-sm-4 control-label" asp-for="PhoneNumberType"></label>
      <div class="col-sm-6">
        <select asp-for="PhoneNumberType" asp-items="Html.GetEnumSelectList<ContactPhoneType>()" class="form-control"></select>
       </div>
</div>

最佳答案

如果该方法返回一个继承自IEnumerable<T>的集合, 你可以使用 Take()按照以下方式选择它的前 N ​​个元素的方法:

asp-items="Html.GetEnumSelectList<ContactPhoneType>().Take(6)"

希望对您有所帮助!

关于c# - 在 ASP.NET Core 下拉列表中显示部分枚举列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42723997/

相关文章:

c# - 从 MVC 中的 web api 身份验证 token 中提取用户详细信息

c# - 使用 Automapper 在 DataReader 中将字符串转换为 bool 值

c# - 如何在 XAML 中将全局枚举分配为标记值?

c# - ASP.NET 5 MVC 6 和 Entity Framework 7 问题

c# - 作为 Windows 服务运行时,ASP.Net Core 2.1 应用程序找不到 appsettings.json

c# - 将 Lucene 索引文件存储到远程位置

c# - 将匿名对象添加到匿名列表

java - 什么时候计算枚举变量中的函数?

c++ - 为枚举重载代字号 "~"运算符

javascript - 使用 AJAX 和 FormData 在 POST 上绑定(bind)列表