#c# #asp.net-core #.net-core #razor #razor-pages
Вопрос:
Я создаю собственную поисковую систему. У меня есть выпадающий список в форме, используемой при поиске. Все это на одной странице. В верхней части страницы есть форма поиска, в которой всегда использовался поиск.
lt;form id="form" method="get" class="form-inline" gt; lt;div id="divId"gt; lt;select asp-for="@Model.TableId" class="m-2 form-control tableName" id="tableName" name="tableName" asp-items="@Model.TableSelectList"gt; lt;/selectgt; lt;input name="name"/gt; lt;button type="submit"/gt; lt;/formgt;
На стороне сервера… публичный IActionResult OnGet() {
..... var queryList = Request.Query; _repo.getTableResults(queryList['tableId'].First()); ..... return Page(); }
Эта форма отправляется на запрос get и работает нормально. Проблема в том, что когда пользователь нажимает кнопку «Назад», новое значение в раскрывающемся списке таблицы сохраняется. он не выбирает старое значение повторно. В данном случае:
Я отправляю форму с именем таблицы «таблица 1». Он ищет таблицу 1 и выдает результаты. Затем я представляю «таблицу 2», она дает результаты. Теперь я нажимаю кнопку «Назад», и она возвращается на страницу с результатами «таблицы 1». Выбранное значение должно быть «table1» в раскрывающемся списке, но это не так. Это все еще «таблица 2». Как вернуть раскрывающемуся списку исходное значение при нажатии кнопки «Назад»?
Комментарии:
1. Вы имеете в виду
back button
в браузере?2. Да, кнопка «Назад» в браузере
Ответ №1:
В итоге я пошел по пути JavaScript, чтобы загрузить раскрывающиеся списки при загрузке страницы. Таким образом, если пользователь нажмет кнопку «Назад» браузера, выбранные раскрывающиеся списки будут успешно загружены. Если есть лучший способ с помощью razor, пожалуйста, поделитесь.