П.Пейджер
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 для добавления к элементу <div> в содержимом подкачки, по умолчанию он установлен в контейнер пейджера. | контейнер |
| КлассТоУл | нить | Класс Css для добавления к элементу <ul> в содержимом разбиения на страницы, по умолчанию для него установлено разбиение на страницы. | нумерация страниц |
| КлассТоЛи | нить | Класс Css для добавления к элементу <li> в содержимом подкачки, по умолчанию для него установлено значение page-item. | элемент страницы |
| PageClass | нить | Класс Css для добавления к элементу <a>/<span> в содержимом подкачки, по умолчанию для него установлено значение page-link. | ссылка на страницу |
| Класстоактивели | нить | Класс Css для добавления к элементу <li>, если он активен в содержимом подкачки, по умолчанию он установлен в активное состояние. | активный |
| Хаспейджертекст | логическое значение | Отображение текущего номера страницы и общего количества страниц в пейджере, по умолчанию установлено значение 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 = "<i class='fas fa-step-backward'></i>" , TextToNextPage = "<i class='fas fa-step-forward'></i>" , TextToFirstPage = "<i class='fas fa-fast-backward'></i>" , TextToLastPage = "<i class='fas fa-fast-forward'></i>" } ) //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.