P.Pager
P.Pager é um pacote leve para paginar facilmente qualquer IEnumerable/IQueryable, dividi-lo em "páginas" e capturar uma "página" específica por um índice. Suporta projetos Web, Winforms, WPF, Window Phone, Silverlight e outros projetos .NET. É configurado por padrão para > Bootstrap 3.3.1 .
Instale P.Pager.Mvc via NuGet. Isso instalará o P.Pager automaticamente.
Install-Package P.Pager.Mvc -Version 3.0.0
Instale P.Pager.Mvc.Core via NuGet. Isso instalará o P.Pager automaticamente.
Install-Package P.Pager.Mvc.Core -Version 3.0.0
Instale P.Pager.Mvc.Core via NuGet. Isso instalará o P.Pager automaticamente.
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 ) ;
}
}Passe o resultado de ToPagerList para sua visualização, onde você pode enumerá-lo - ainda é um IEnumerable, mas contém apenas um filho dos dados originais.
Chame Html.Pager , passando a instância do Pager e uma função que irá gerar URLs para cada página para ver um controle de paginação.
//Default Pager options
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) ) Opções padrão para renderização de paginação.
| Opção | Tipo | Resumo | Padrão |
|---|---|---|---|
| DisplayFirstPage | PagerDisplayMode | Se definido como Sempre, renderiza um hiperlink para a primeira página da lista. Se definido como IfNeeded, renderize o hiperlink somente quando a primeira página não estiver visível no controle de paginação. | Se necessário |
| ExibirÚltimaPágina | PagerDisplayMode | Se definido como Sempre, renderiza um hiperlink para a última página da lista. Se definido como IfNeeded, renderize o hiperlink somente quando a última página não estiver visível no controle de paginação. | Se necessário |
| Exibir página anterior | PagerDisplayMode | Se definido como Sempre, renderiza um hiperlink para a página anterior da lista. Se definido como IfNeeded, renderizará o hiperlink somente quando houver uma página anterior na lista. | Se necessário |
| ExibirPróximaPágina | PagerDisplayMode | Se definido como Sempre, renderiza um hiperlink para a próxima página da lista. Se definido como IfNeeded, renderizará o hiperlink somente quando houver uma próxima página na lista. | Se necessário |
| Páginas para exibição | interno? | Quantos números de página exibir na paginação, por padrão é 5. | 5 |
| Tem páginas individuais | bool | Exibir números de páginas. | verdadeiro |
| TextToIndividualPages | corda | Um texto formatado a ser exibido dentro do hiperlink. Use {0} para se referir ao número da página; por padrão, é definido como {0} | {0} |
| TextForDelimitador | corda | Isso aparecerá entre cada número de página. Se for nulo ou espaço em branco, nenhum delimitador será exibido. | nulo |
| HasElipses | bool | Adiciona uma elipse quando todos os números de página não estão sendo exibidos; por padrão, é verdadeiro. | verdadeiro |
| Formato de elipses | corda | Um texto formatado mostra quando todas as páginas não estão sendo exibidas, por padrão é… | … |
| TextToFirstPage | corda | Um texto formatado para mostrar o link da primeira página; por padrão, é definido como <<. | << |
| Texto para página anterior | corda | Um texto formatado para mostrar o link da página anterior; por padrão, é definido como <. | < |
| TextToNextPage | corda | Um texto formatado para mostrar no link da próxima página; por padrão, é definido como >. | > |
| TextToLastPage | corda | Um texto formatado para mostrar o link da última página; por padrão, é definido como >>. | >> |
| ClassToPagerContainer | corda | Classe CSS para anexar ao elemento <div> no conteúdo da paginação, por padrão é definida como contêiner de pager. | recipiente |
| ClassToUl | corda | Classe CSS para anexar ao elemento <ul> no conteúdo de paginação, por padrão é definida como paginação. | paginação |
| ClassToLi | corda | Classe CSS para anexar ao elemento <li> no conteúdo da paginação, por padrão é definida como item de página. | item de página |
| Classe de página | corda | Classe CSS a ser anexada ao elemento <a>/<span> no conteúdo da paginação, por padrão é definida como link da página. | link da página |
| ClassToActiveLi | corda | Classe CSS a ser anexada ao elemento <li> se estiver ativa no conteúdo da paginação, por padrão ela é definida como ativa. | ativo |
| HasPagerText | bool | Exibindo o número da página atual e o número total de páginas no pager; por padrão, é definido como falso. | falso |
| PagerTextFormat | corda | O formato de texto será exibido se HasPagerText for verdadeiro. Use {0} para referir-se à página atual e {0} para referir-se ao número total de páginas. Por padrão, é definido como Página {0} de {1}. | Página {0} de {1}. |
| HasEntriesText | bool | Exibindo o item inicial, o último item e o total de entradas no pager, por padrão é definido como falso. | falso |
| EntradasTextFormat | corda | O formato de texto será exibido se HasEntriesText for verdadeiro. {0} refere-se à primeira entrada na página, {1} refere-se ao último item na página e {2} refere-se ao número total de entradas. Por padrão, é definido como Mostrando {0} a {1} de {2} entradas. | Mostrando {0} a {1} de {2} entradas. |
Uma enumeração de três estados que controla a visibilidade de partes do controle de paginação PagerList.
public enum PagerDisplayMode| Campos | Descrição |
|---|---|
| Sempre | Sempre renderize. |
| Nunca | Nunca renderize. |
| Se necessário | Renderize apenas quando houver dados que façam sentido mostrar (sensível ao contexto). |
@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 ) Licenciado sob a licença MIT.