Пагинация с сохранением предыдущих параметров запроса

Подскажите, пожалуйста, куда копать. Есть форма Razor Page для отображения данных из БД, на которой два элемента select для выбора данных за конкретный год/месяц. При выборе элементов из списка эти данные добавляются в Request.Query. форма с пагинацией

Для пагинации добавил ViewModel, а также кнопки на форму.
кнопки для пагинации

Но при нажатии на кнопку Next, параметры запроса(year и month) удаляются и добавляется только параметр page (т.е. выбираются данные уже не за конкретный год/месяц). Пытался взять их из класса Context.Request.Query, но после нажатия на кнопку Next, они уже удалены из него. Часть кода RazorPage c пагинацией.

@{
    var yearQuery = Context.Request.Query.FirstOrDefault(p => p.Key == "year").Value;
    var routeBack = new Dictionary<string, string>
        {
           { "page", (Model.PageViewModel.PageNumber - 1).ToString() },
           { "year", yearQuery},
        };
    var routeNext = new Dictionary<string, string>
    {
        { "page", (Model.PageViewModel.PageNumber + 1).ToString() },
        { "year", yearQuery},
    };
}

<a asp-action="Statistics"
   asp-route-page="@routeBack"
   class="btn btn-outline-dark @hasPreviousPage">
    Back
</a>
<a asp-action="Statistics"
   asp-route-page="@routeNext"
   class="btn btn-outline-dark @hasNextPage">
    Next
</a>

ViewModel для пагинации:

public class PageViewModel
    {
        public int PageNumber { get;}
        public int TotalPages { get;}
        public int? Year { get; }
        public string Month { get; }

        public PageViewModel(int count, int pageNumber, int pageSize, int? year, string month)
        {
            PageNumber = pageNumber;
            TotalPages = (int)Math.Ceiling(count / (double)pageSize);
            Year = year;
            Month = month;
        }

        public bool HasPreviousPage => PageNumber > 1;

        public bool HasNextPage => PageNumber < TotalPages;
    }

Ответы (0 шт):