我有一个枚举下拉列表:
@Html.EnumDropDownListFor(model => model.Type, "-- Choose --", new { @class = "postfix" })
为枚举下拉列表生成的html代码是:
<select data-val="true" data-val-required="Select type of ..." id="Type" name="Type" class="valid">
<option selected="selected" value="0">-- Choose --</option>
<option value="1">Hotel</option>
<option value="2">Flight</option>
</select>
我不希望optionLabel的值为0,因为此值使下拉列表有效并且不会显示任何错误消息。我怎么能阻止这个?
答案 0 :(得分:11)
我知道它已经老了,但万一有人偶然发现了这个问题,这是一个有效的解决方法。
使用带有EnumHelper的标准DropDownListFor,而不是使用EnumDropDownListFor:
@Html.DropDownListFor(model => model.Type, EnumHelper.GetSelectList(typeof(yourNamespace.yourType)), "-- Choose --", new { @class = "postfix", @required = "required" })
这将提供所需的输出。我还添加了@required =&#34; required&#34;它将在支持的浏览器中提供本机HTML验证。