Идеальное разбиение на страницы выполняется на уровне базы данных.Для этого вы создаете SP, который может принимать два параметра.Один будет нет.записей, которые вы хотите показать на каждой странице, и другой параметр не будет.страницы, на которой находится ваш пользователь.
Например, - если ваш пользователь находится на странице 1, а количество записей на странице - 20, извлеките записи из своей базы данных, где идентификатор строки находится в диапазоне от 1 до 20.см. стр. 3, затем извлеките строки с 41 по 60. Если в таблице SQL нет уникального идентификатора, вам придется использовать внутренний запрос с помощью функции ROW_NUMBER ().Ниже приведена ссылка на подкачку с помощью функции SQL Server ROW_NUMBER ().
http://www.davidhayden.com/blog/dave/archive/2005/12/30/2652.aspx
Вдоль этой логики вы также можете комбинировать сортировку.Это может быть третьим параметром для вашего SP.Вы можете сначала отсортировать данные любым способом, а затем вывести нужную страницу.