我有一个
<select>
对于viewcomponent default.cshtml中的工作日,每天的关联值为0-6(星期日到星期六)。但是,我希望星期一列为第一天,因此在我的ViewModel中,我有:
public List<SelectListItem> SelectableWeekdays => new List<SelectListItem>
{
new SelectListItem { Text = "Monday", Value = "1", Selected = true },
new SelectListItem { Text = "Tuesday", Value = "2", Selected = false },
new SelectListItem { Text = "Wednesday", Value = "3", Selected = false },
new SelectListItem { Text = "Thursday", Value = "4", Selected = false },
new SelectListItem { Text = "Friday", Value = "5", Selected = false },
new SelectListItem { Text = "Saturday", Value = "6", Selected = false },
new SelectListItem { Text = "Sunday", Value = "0", Selected = false }
};
在我的视图中,我呈现的下拉列表如下:
<select asp-for="Weekday" class="form-control" asp-items="@Model.SelectableWeekdays">
</select>
我还尝试手动添加选定的禁用选项:
<select asp-for="Weekday" class="form-control" asp-items="@Model.SelectableWeekdays">
<option selected disabled>Please choose</option>
</select>
无论我尝试什么,所选选项始终是具有属性的“星期日”
selected="selected"
为那天做准备。
我也试过增加
new SelectListItem { Text = "Please choose", Value = "99", Selected = true, Disabled = true },
在视图模型中,省略了视图中的手动选项,但这也不起作用。禁用的“请选择”-选项在列表的顶部,但星期日仍然是选定的选项。