Dropdownlist не содержит выбранного значения при использовании разбиения на страницы в .NET core 2.2
Не удерживает выбранное значение AA при использовании пагинации. При переходе на другую страницу dropdownlist перемещается в состояние All.
Использовал ViewBag для хранения текущего состояния фильтра, но безуспешно.
Понятия не имею, куда пойти и изменить код, чтобы заставить его работать. Может ли кто-нибудь просветить меня, как это сделать?
Что я уже пробовал:
Public async Task<IActionResult> Index(string searchText, string currentFilter, int? page) { int selectedPage = page ?? 1; int bypassCount = (selectedPage - 1) * _pagingOptions.PageSize; if (searchText != null) { page = 1; } else { searchText = currentFilter; } ViewBag.CurrentFilter = searchText; }
Индекс
<form asp-action="Index" method="get"> <select class="custom-select" asp-for="searchText" value="@(ViewBag.CurrentFilter)"> <option value="">All</option> <option value="AA">AA</option> <option value="AE">AE</option> <option value="AR">AR</option> </select> <div class="col-md-12"> <button class="btn btn-primary" type="submit">Search</button> </div> </form> <table class="table"> <thead> <tr > <th>Resent</th> <th>Resent Date</th> <th>Created Date</th> </tr> </thead> <tbody> @if (Model.Items.TotalItemCount > 0) { @foreach (var item in Model.Items.ToList()) { <td>@Html.DisplayFor(modelItem => resentString)</td> <td>@Html.DisplayFor(modelItem => resentDateString)</td> <td>@Html.DisplayFor(modelItem => createdDateString)</td> </tr> } } </tbody> </table> </div> @if (Model.Items.PageCount > 1) { @Html.PagedListPager(Model.Items, page => Url.Action("Index", new { page = page, currentFilter = ViewBag.CurrentFilter}) }