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 no conteúdo da paginação, por padrão é definida como contêiner de pager. | recipiente |
ClassToUl | corda | Classe CSS para anexar ao elemento
| paginação |
ClassToLi | corda | Classe CSS para anexar ao elemento | item de página |
Classe de página | corda | Classe CSS a ser anexada ao elemento / 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 | 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 = "" , 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 )
Licenciado sob a licença MIT.