我可以填充DropDownListFor并且不选择任何初始值而不向列表中添加空值吗?基本上,我需要这个字段是一个必填字段,但我不想最初选择任何东西,我不想有一个空值,因为选择一个空值是没有意义的,因为该字段是必需的。
这是我到目前为止所尝试过的。如果我执行以下操作,则会选择第一个值:
@Html.DropDownListFor(m => m.MyModel,
someList.Select(p => new SelectListItem() {Text = p.name, Value = p.id})
如果我添加optionLabel
参数:
@Html.DropDownListFor(m => m.MyModel,
someList.Select(p => new SelectListItem() {Text = p.name, Value = p.id}),
string.Empty
它添加了一个空值作为第一项,这不是我想要的......
我还尝试明确取消选择所有项目:
@Html.DropDownListFor(m => m.MyModel,
someList.Select(p => new SelectListItem() {Text = p.name, Value = p.id, Selected = false})
这仍然会选择第一项。
有解决方法吗?我可以用jQuery清除这个值:
$('#myDropdown').val('');
但是我想知道是否有办法用Razor原生做这件事。