【发布时间】:2016-12-20 15:40:07
【问题描述】:
我尝试了this accepted answer,但似乎在最新版本的 ASP.NET Core 中处理方式可能有所不同。我根本没有 selected 属性:
<select class="form-control" asp-for="Status">
<option></option>
@foreach (var option in Enum.GetNames(typeof(StatusOptions))) {
<option value="@option" @{if (option == Model.Status) { <text>selected="true"</text> } }>@option</option>
}
</select>
作为替代方案,我尝试了这个并得到了selected="selected",但Visual Studio 给了我一个警告@selected is not a valid value of attribute of 'selected'。
<select class="form-control" asp-for="Status">
<option></option>
@foreach (var option in Enum.GetNames(typeof(StatusOptions))) {
bool selected = option == Model.Status;
<option value="@option" selected="@selected">@option</option>
}
</select>
我可以使用它,但我必须忽略警告,它并不能完全呈现我想要的。有没有办法获得:
<option value="firstOption" selected>firstOption</option>
【问题讨论】:
-
您没有设置
selected属性。 Tag Helper 会根据您绑定到的属性的值来执行此操作。 -<select asp-for="Status" asp-items="Html.GetEnumSelectList<StatusOptions>()"></select>
标签: c# asp.net asp.net-mvc razor asp.net-core