@Alarih1

Как при выборе значения select передать значение value из представления в контроллер?

В представлении cshtml есть выпадающий список. Как при выборе одного значения из списка, передать value в контроллер, который в свою очередь перезагрузит это представление на основании принятого значения?
<select required>
         @for (int i = 0; i < @ViewBag.screenList.Count; i++) {
                    <option value="@i">@ViewBag.screenList[i]</option>
          }
</select>
  • Вопрос задан
  • 1154 просмотра
Решения вопроса 1
@Alarih1 Автор вопроса
Нашел решение:
<form asp-controller="Patients" asp-action="Details">
           <select required onchange="this.form.submit()" name="screenData">
                       @for (int i = 0; i < @ViewBag.screenList.Count; i++) {
                                    if (@ViewBag.screenList[i] == ViewBag.screenData) {
                                            <option value="@ViewBag.screenList[i]" selected>@ViewBag.screenList[i]</option>
                                    } else { <option value="@ViewBag.screenList[i]">@ViewBag.screenList[i]</option> }
                        }
           </select>
</form>

при этом name="screenData" в select должен соответствовать параметру в методе контроллера
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Вам скорее всего нужно использовать слушатель на событие change на элементе select. B обработчике события получать value
Что-то типа этого:
const select = document.getElementById("select");

select.addEventListener("change", function(e) {
	console.log("value", e.target.value);
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы