То, что вы только что опубликовали, является запросом linq, но не может быть объяснено, если вы не знаете, как работает linq.в основном, эти операторы говорят select все из таблицы m или контекст базы данных имя таблицы db sys_Dictionary и порядок по столбцу sd_KeyЗатем, что происходит, он использует метод Skip, чтобы пропустить первые 90 возвращенных значений и вернуть только следующие 10 записей.
Проблема, которую вы не понимаете, заключается в том, что эта страница будет отображаться только в этом экземпляре.Чтобы настроить следующую предыдущую страницу, вы должны настроить класс подкачки следующим образом:
public PaginatedList<T>(IQueryable<T> source, int pageIndex, int? pageSize)
{
PageIndex = pageIndex; //global variable
PageSize = pageSize ?? source.Count(); //global variable
TotalCount = source.Count(); //global variable
TotalPages = (int)Math.Ceiling(TotalCount /(double)PageSize); //global variable
this.AddRange(source.Skip(PageIndex*PageSize).Take(PageSize));
}
, тогда у вас есть два метода: один с HasPreviousPage и один с HasNextPage
пример
public bool HasPreviousPage
{
get
{
return(PageIndex >0); //same global variable
}
}
, затем вы можете передать свои данные и вернуть эту страницу, например
int page= 6;
var dictspage = new PaginatedList<m>(dicts, page, 10); //remove the skip and take from your dicts