Я думаю, у вас есть несколько вариантов здесь.
Первый - использовать Ajax для обратного вызова контроллера, чтобы получить коллекцию объектов «Paged», поэтому каждый раз, когда вы фильтруете выходные данные, вы отправляете обратно идентификатор фильтра, чтобы получить только те коллекции результатов, которые необходимы для страницы, которую вы хочу. Вы можете выполнить пейджинг с помощью Ajax, а также передать идентификатор фильтра с помощью вызова Ajax, чтобы получить обратно отфильтрованный и выгружаемый объект или перенаправить на другой URL-адрес при пейджинге, описанный ниже.
Если вы используете полный постбэк на сервер при изменении значения в раскрывающемся списке, вы можете перенаправить пользователя на другой URL с идентификатором фильтра, например. Выпуск / Filter / 1
Таким образом, каждый раз, когда используются пейджинговые ссылки, вы получите URL-адрес типа Issue / Filter / 1? Page = 6, и вы не потеряете свой фильтр.
Обратите внимание, что вид страницы не должен изменяться.
Несмотря на то, что функция заканчивается одинаково, ответ на этот вопрос в комментариях ниже и размещен здесь для простоты.
<%= Html.Pager(ViewData.Model.PageSize, ViewData.Model.PageNumber, ViewData.Model.TotalItemCount, new { categoryname = ViewData["CategoryDisplayName"] } )%>