Погуглил и посмотрел документы Microsoft (и искал на стеке overflow), и я не нашел решения этой проблемы. Должно быть просто, но я упускаю что-то важное.
У меня есть простой выпадающий список с одним выбором, который отлично работает, когда пользователь выбирает значение. Однако я хотел бы иметь возможность предварительно установить значение в определенных условиях.
Вот что я пробовал: фрагмент формы cshtml -
<select asp-for="Role" class="form-control" asp-items="Model.lstRoles"></select>
фрагмент страницы cs -
[BindProperty]
public string Role { get; set; }
public List<SelectListItem> lstRoles { get; set; }
и
new SelectListItem {Value = "", Text = "Select One" },
new SelectListItem { Value = "Peon", Text = "Respondent" },
new SelectListItem { Value = "Programmer", Text = "Interviewer" },
new SelectListItem { Value = "Data Manager", Text = "Data Manager" },
new SelectListItem { Value = "Administrator", Text = "Administrator" }
и
Role = "Data Manager";
В соответствии с документацией, которую я видел (упоминалось выше), следует выбрать параметр «Диспетчер данных» вcshtml. Однако это не так. Чего мне не хватает?
(обратите внимание, я также пытался добавить «selected = booleanValue» к новым записям SelectListItem (и проверил, что список имеет только одно значение с true для выбранного) с помощьютот же отрицательный результат.
Спасибо, Оуэн
О, забыл упомянуть: это происходит в синхронном событии Post (OnPostLookup из asp-page-handler = "LookUp") ...