Когда я нажимаю кнопку «Отправить», я не получаю новое значение, выбранное пользователем для EpicType, вместо этого я получаю то, что было установлено при загрузке страницы.
Это потому, что код явно определяет это значение здесь:
onclick="javascript:filterResults('@QueryData.EpicType')"
Итак, допустим, EpicType
это 5
, тогда на стороне клиента у вас есть следующее:
onclick="javascript:filterResults('5')"
Нет ничего динамического c об этом. Он жестко запрограммирован в JavaScript, чтобы всегда быть 5
.
Вместо того, чтобы передавать туда значение, просто вызовите функцию:
onclick="javascript:filterResults()"
И внутри функции получите текущий value:
let epicType = $('#EpicType').val();
Обратите внимание, что я угадываю на id
элемента <select>
здесь. Вы захотите изучить свой клиентский код (просмотреть исходный код страницы в браузере), чтобы увидеть, что в итоге означает <select>
. Это также может работать:
let epicType = $('select[name="EpicType"]').val();
Дело в том, что в коде JavaScript вам нужно получить текущее выбранное значение из элемента <select>
. Код на стороне сервера не имеет возможности узнать, каким будет это значение при рендеринге страницы.