Я работаю над стандартным компонентом подкачки для моего проекта. Все контроллеры с подкачкой ожидают параметра PageIndex в URL.
Поэтому я хочу создать URL-адрес на основе текущего URL-адреса, за исключением параметра PageIndex.
Например, у меня есть фильтры для моего интернет-магазина, такие как Производитель и MaxPrice.
Пользователь открывает ссылку mystore.com/products?manufacturer=Apple&MaxPrice=999
.
Тогда он хочет перейти на 3 страницы. Таким образом, трехстраничная ссылка на моей странице должна иметь ссылку mystore.com/products?manufacturer=Apple&MaxPrice=999&PageIndex=3
.
Итак, необходимая функция MVC должна:
- Сохраняет все существующие параметры, такие как MaxPrice и производитель
- Заменить только параметр PageIndex
- не использовать какой-либо жесткий код контроллера и значения действий (например, контроллер = «Продукты», действие = «Индекс»)
Я пытаюсь использовать этот код:
<a class="page-link" href="@Url.RouteUrl(new { PageIndex = page })">
@page
</a>
Работает нормально, кроме правила 2 - другие аргументы не сохраняются.
Поэтому, если пользователь нажмет на эту ссылку, он перейдет на mystore.com/products?PageIndex=3