enum
字段定义为:
public enum HasSomething
{
Installed_by_Installer,
Not_Installed_by_Installer,
Not_Present
}
我正在尝试将其添加到
select
元素中的选项,如下所示:
<select asp-for="HasSomething" asp-items="Html.GetEnumSelectList<HasSomething>()" class="form-control">
<option selected hidden>---Select---</option>
</select>
第一个选项(---选择---)丢失了。因此,第一个值
Installed by Installer
自动成为帖子上选定的值,这显然是错误的输入。有人可以指导如何克服这个问题吗?
提前致谢。
要实现此目的,必须将模型属性定义为可为空并将其设置为
null
。
假设视图模型声明如下:
public class MyModel
{
public HasSomething? Something { get; set; }
}
然后在视图中使用:
@model MyModel
<select class="form-control"
asp-for="Something"
asp-items="@Html.GetEnumSelectList<HasSomething>()">
<option selected>---Select---</option>
</select>