我尝试了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>
答案 0 :(得分:1)
我认为我不会在此枚举StatusOptions。我可能会把它作为我的模型的属性。
public List<SelectListItem> StatusOptions => Enum.GetNames(typeof(StatusOptions)).Select(o => new SelectListItem {
Text = o,
Value = o,
Selected = o == this.Status
}).ToList();
然后在剃须刀视图中:
@Html.DropDownListFor(m => m.Status, Model.StatusOptions, new { @class="form-control", asp_for = "status" })
这应该做你想要的。
答案 1 :(得分:0)
尝试此操作并确保GET ../picture/<id>/image?<processing params>
与[{1}}中的<img>
类型相同
Model.Status