删除EnumDropDownListFor框顶部的空白/空条目

Jam*_*mes 8 c# asp.net-mvc html-helper html.dropdownlistfor razor

我使用我的枚举渲染一个下拉列表框,我只有3个选项,但由于某种原因它显示四个.top和default选项只是空白/空,我希望删除它.我希望top/default值为'Option1'.

枚举:

public enum EventType
{
    [Display(Name = "Option 1")]
    Option1,

    [Display(Name = "Option 2")]
    Option2,

    [Display(Name = "Option 3")]
    Option3
}
Run Code Online (Sandbox Code Playgroud)

视图:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

And*_*NET 10

您的第二个参数是"选项标签",用于设置下拉列表中的第一个项目.从文档:"默认空项的文本"

使用不包含选项标签的重载:

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

UPDATE

我刚试过你的代码.当我这两个时:

@Html.EnumDropDownListFor(model => model.EventType, null, new { @id = "eventType", @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

@Html.EnumDropDownListFor(model => model.EventType, new { @id = "eventType", @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

我明白了:

在此输入图像描述

我在下拉列表中唯一一次获得另一个选项是当我传入一个字符串作为第二个参数时,例如"选择..."

您是否有机会使用javascript将项目添加到下拉列表中?

  • 这只是猜测,但是你的model.EventType可以为空吗?不确定这是否是添加空选项的原因. (7认同)