П.Пейджер
P.Pager — это легкий пакет, позволяющий легко перемещаться по страницам любого IEnumerable/IQueryable, разбивать его на «страницы» и захватывать определенную «страницу» по индексу. Он поддерживает веб-проекты, Winforms, WPF, Windows Phone, Silverlight и другие проекты .NET. По умолчанию он настроен на > Bootstrap 3.3.1 .
Установите P.Pager.Mvc через NuGet. P.Pager будет установлен автоматически.
Install-Package P.Pager.Mvc -Version 3.0.0
Установите P.Pager.Mvc.Core через NuGet. P.Pager будет установлен автоматически.
Install-Package P.Pager.Mvc.Core -Version 3.0.0
Установите P.Pager.Mvc.Core через NuGet. P.Pager будет установлен автоматически.
Install-Package P.Pager.Mvc.Core
public class HomeController : Controller
{
readonly DemoData _data ;
public HomeController ( )
{
_data = new DemoData ( ) ;
}
public ActionResult Index ( int page = 1 , int pageSize = 10 )
{
var pager = _data . GetMembers ( ) . ToPagerList ( page , pageSize ) ;
// will only contain 10 members max because of the pageSize.
return View ( pager ) ;
}
}
Передайте результат ToPagerList в свое представление, где вы можете выполнить его перечисление - это все еще IEnumerable, но содержит только дочерний элемент исходных данных.
Вызовите Html.Pager , передав экземпляр Pager и функцию, которая будет генерировать URL-адреса для каждой страницы, чтобы увидеть элемент управления подкачкой.
//Default Pager options
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) )
Параметры по умолчанию для отрисовки нумерации страниц.
Вариант | Тип | Краткое содержание | По умолчанию |
---|---|---|---|
Отображение первой страницы | Режим отображения пейджера | Если установлено значение «Всегда», отображается гиперссылка на первую страницу в списке. Если установлено значение IfNeeded, гиперссылка отображается только в том случае, если первая страница не видна в элементе управления разбиением на страницы. | Если нужно |
Отображение последней страницы | Режим отображения пейджера | Если установлено значение «Всегда», отображается гиперссылка на последнюю страницу в списке. Если установлено значение IfNeeded, гиперссылка отображается только в том случае, если последняя страница не видна в элементе управления разбиением на страницы. | Если нужно |
ОтображениеПредыдущая страница | Режим отображения пейджера | Если установлено значение «Всегда», отображается гиперссылка на предыдущую страницу списка. Если установлено значение IfNeeded, гиперссылка отображается только при наличии предыдущей страницы в списке. | Если нужно |
Отображать следующую страницу | Режим отображения пейджера | Если установлено значение «Всегда», отображать гиперссылку на следующую страницу списка. Если установлено значение IfNeeded, гиперссылка отображается только при наличии следующей страницы в списке. | Если нужно |
СтраницыToDisplay | инт? | Сколько номеров страниц отображать на нумерации, по умолчанию — 5. | 5 |
Имеет отдельные страницы | логическое значение | Отображение номеров страниц. | истинный |
Тексттоиндивидуальные страницы | нить | Форматированный текст, который будет отображаться внутри гиперссылки. Используйте {0} для ссылки на номер страницы, по умолчанию он установлен на {0}. | {0} |
Текстфорделимитер | нить | Он будет отображаться между каждым номером страницы. Если пустое или пустое пространство, разделитель не будет отображаться. | нулевой |
Имеет эллипсы | логическое значение | Добавляет эллипс, когда не отображаются все номера страниц. По умолчанию это правда. | истинный |
ЭллипсыФормат | нить | Форматированный текст отображается, когда не отображаются все страницы. По умолчанию это… | … |
ТекстToFirstPage | нить | Форматированный текст, отображаемый для ссылки на первой странице. По умолчанию для него установлено значение <<. | << |
ТекстToПредыдущаяПейдж | нить | Форматированный текст, отображаемый для ссылки на предыдущую страницу. По умолчанию для него установлено значение <. | < |
Тексттонекстпейдж | нить | Форматированный текст, отображаемый для ссылки на следующую страницу. По умолчанию для него установлено значение >. | > |
Тексттоластпейдж | нить | Форматированный текст, отображаемый для ссылки на последнюю страницу. По умолчанию для него установлено значение >>. | >> |
Класстопагерконтейнер | нить | Класс Css для добавления к элементу в содержимом подкачки, по умолчанию он установлен в контейнер пейджера. | контейнер |
КлассТоУл | нить | Класс Css для добавления к элементу
| нумерация страниц |
КлассТоЛи | нить | Класс Css для добавления к элементу | элемент страницы |
PageClass | нить | Класс Css для добавления к элементу / в содержимом подкачки, по умолчанию для него установлено значение page-link. | ссылка на страницу |
Класстоактивели | нить | Класс Css для добавления к элементу | активный |
Хаспейджертекст | логическое значение | Отображение текущего номера страницы и общего количества страниц в пейджере, по умолчанию установлено значение false. | ЛОЖЬ |
Пейджертекстовый формат | нить | Текстовый формат будет отображаться, если HasPagerText имеет значение true. Используйте {0} для ссылки на текущую страницу и {0} для ссылки на общее количество страниц. По умолчанию установлено значение "Страница {0} из {1}". | Страница {0} из {1}. |
HasEntriesText | логическое значение | Отображение начального элемента, последнего элемента и общего количества записей в пейджере, по умолчанию установлено значение false. | ЛОЖЬ |
ЗаписиTextFormat | нить | Текстовый формат будет отображаться, если HasEntriesText имеет значение true. {0} относится к первой записи на странице, {1} относится к последнему элементу на странице, а {2} относится к общему количеству записей. По умолчанию для него установлено значение Отображение {0} до {1} из {2} записей. | Показаны записи от {0} до {1} из {2}. |
Перечисление с тремя состояниями, которое управляет видимостью частей элемента управления разбиением на страницы PagerList.
public enum PagerDisplayMode
Поля | Описание |
---|---|
Всегда | Всегда рендерить. |
Никогда | Никогда не рендерите. |
Если нужно | Выполняйте визуализацию только тогда, когда есть данные, которые имеет смысл показать (контекстно-зависимые). |
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , new PagerOptions { PagesToDisplay = 10 } )
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , new PagerOptions { TextToIndividualPages = "Page-{0}" } )
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , new PagerOptions { TextToPreviousPage = "Previous Page" , TextToNextPage = "Next Page" , TextToFirstPage = "First Page" , TextToLastPage = "Last Page" } )
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , new PagerOptions { TextToPreviousPage = "last-page" , TextToNextPage = "next-page" , TextToFirstPage = "first-page" , TextToLastPage = "last-page" , ClassToUl = "list-inline" , ClassToLi = "list-inline-item" , PageClass = "nopageclass" , ClassToActiveLi = "niloclass" , TextForDelimiter = " | " } )
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , new PagerOptions { TextToPreviousPage = "" , TextToNextPage = "" , TextToFirstPage = "" , TextToLastPage = "" } )
//Shows only the Previous and Next links.
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , PrePagerOptions . Minimal )
//Shows Previous and Next links along with current page number and total number of pages in pager.
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , PrePagerOptions . MinimalWithPagerText )
//Shows Previous and Next links along with index of start and last item and total entries in pager.
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , PrePagerOptions . MinimalWithEntriesText )
//Shows Previous and Next page always with default, 5 pages.
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , PrePagerOptions . ClassicPager )
//Shows Last, First, Previous and Next page always with default, 5 pages.
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) , PrePagerOptions . ClassicPagerWithFirstAndLastPages )
Лицензировано по лицензии MIT.