выберите asp-for TagHelper и установите выбранное значение - PullRequest
0 голосов
/ 04 октября 2019

Погуглил и посмотрел документы 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") ...

...