вы можете сделать и то и другое, проще всего просто построить свою нумерацию страниц, используя что-то вроде частичного представления, и заполнить его перед отправкой в представление. В этой ситуации вам ничего не нужно делать на переднем конце.
В любом случае, это очень просто.
Подумайте об этом, что вам нужно для создания нумерации страниц?
Вам нужно создать несколько ссылок, которые будут выглядеть примерно так:
blabla/morebla/data?indexPage=index
где индекс - это любой номер страницы, который вы хотите отобразить. Вам нужно знать диапазон этого индекса, от 1 до любого значения.
У вас есть размер страницы, скажем, это 20. У вас есть данные, которые говорят вам, что у вас есть 30 записей. Поэтому вам понадобится 2 страницы для отображения данных, поэтому вы создадите гиперссылки с индексами 1 и 2. Вы можете легко придумать формулу, чтобы решить, сколько страниц вам нужно. Вы делите размер ваших записей (30) на размер страницы (20), и если мод этого больше нуля, то вы добавляете 1 к индексу страницы.
как то так:
int pageTotal = ( recordsCount / pageSize )
вы берете int этого результата (в вашем случае 1), и если модуль этой операции больше 0 (то есть), то вы добавляете 1 к числу страниц и, таким образом, получаете два. Вам нужна вторая страница для отображения последних 10 записей ваших данных.
Теперь осталось только построить ссылки в цикле foreach, поэтому в этом случае вы получите два, как вы уже вычислили pageTotal :
blabla/morebla/data?indexPage=1
blabla/morebla/data?indexPage=2
Тщательно, как вы отправляете индексы в API, ваш индекс 1 в пользовательском интерфейсе может фактически быть индексом 0 на стороне API, но вы хотите отобразить 1 в пользовательском интерфейсе просто с точки зрения удобства использования, так что вы можете иметь внести некоторые коррективы в ваш код, чтобы учесть это.
Вам не нужны никакие плагины, и вы можете делать это на задней или внешней стороне, в зависимости от того, с чем вам удобнее.