P.Pager
P.Pager est un package léger permettant de parcourir facilement n'importe quel IEnumerable/IQueryable, de le découper en "pages" et de récupérer une "page" spécifique par un index. Il prend en charge les projets Web, Winforms, WPF, Window Phone, Silverlight et d'autres projets .NET. Il est configuré par défaut sur > Bootstrap 3.3.1 .
Installez P.Pager.Mvc via NuGet. Cela installera automatiquement P.Pager.
Install-Package P.Pager.Mvc -Version 3.0.0
Installez P.Pager.Mvc.Core via NuGet. Cela installera automatiquement P.Pager.
Install-Package P.Pager.Mvc.Core -Version 3.0.0
Installez P.Pager.Mvc.Core via NuGet. Cela installera automatiquement 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 ) ;
}
}
Transmettez le résultat de ToPagerList à votre vue où vous pouvez l'énumérer - c'est toujours un IEnumerable, mais ne contient qu'un enfant des données d'origine.
Appelez Html.Pager , en passant l'instance du Pager et une fonction qui générera des URL pour chaque page pour voir un contrôle de pagination.
//Default Pager options
@Html . Pager ( ( IPager ) Model , page => Url . Action ( "Index" , new { page } ) )
Options par défaut pour le rendu de la pagination.
Option | Taper | Résumé | Défaut |
---|---|---|---|
AfficherPremièrePage | Mode d'affichage du téléavertisseur | Si la valeur est Toujours, affiche un lien hypertexte vers la première page de la liste. S'il est défini sur IfNeeded, affiche le lien hypertexte uniquement lorsque la première page n'est pas visible dans le contrôle de pagination. | Si nécessaire |
AfficherDernièrePage | Mode d'affichage du téléavertisseur | Si la valeur est Toujours, affiche un lien hypertexte vers la dernière page de la liste. S'il est défini sur IfNeeded, affiche le lien hypertexte uniquement lorsque la dernière page n'est pas visible dans le contrôle de pagination. | Si nécessaire |
AfficherPagePrécédente | Mode d'affichage du téléavertisseur | Si la valeur est Toujours, affiche un lien hypertexte vers la page précédente de la liste. S'il est défini sur IfNeeded, affiche le lien hypertexte uniquement lorsqu'il existe une page précédente dans la liste. | Si nécessaire |
Afficher la page suivante | Mode d'affichage du téléavertisseur | S'il est défini sur Toujours, affiche un lien hypertexte vers la page suivante de la liste. S'il est défini sur IfNeeded, affiche le lien hypertexte uniquement lorsqu'il y a une page suivante dans la liste. | Si nécessaire |
PagesÀAfficher | int ? | Combien de numéros de page afficher dans la pagination, par défaut c'est 5. | 5 |
HasIndividualPages | bouffon | Afficher les numéros de pages. | vrai |
TexteVersIndividualPages | chaîne | Un texte formaté à afficher à l'intérieur du lien hypertexte. Utilisez {0} pour faire référence au numéro de page. Par défaut, il est défini sur {0}. | {0} |
TextePourDélimiteur | chaîne | Celui-ci apparaîtra entre chaque numéro de page. Si nul ou espace blanc, aucun délimiteur ne s'affichera. | nul |
AEllipses | bouffon | Ajoute une ellipe lorsque tous les numéros de page ne s'affichent pas, par défaut c'est vrai. | vrai |
EllipsesFormat | chaîne | Un texte formaté s'affiche lorsque toutes les pages ne s'affichent pas, par défaut c'est… | … |
TexteVersPremièrePage | chaîne | Un texte formaté à afficher pour le lien de la première page, par défaut il est défini sur <<. | << |
TexteVersPagePrécédente | chaîne | Un texte formaté à afficher pour le lien de la page précédente. Par défaut, il est défini sur <. | < |
TexteVersPageSuivant | chaîne | Un texte formaté à afficher pour le lien de la page suivante. Par défaut, il est défini sur >. | > |
TexteVersLa DernièrePage | chaîne | Un texte formaté à afficher pour le lien de la dernière page, par défaut il est défini sur >>. | >> |
ClasseVersPagerConteneur | chaîne | Classe CSS à ajouter à l'élément dans le contenu de la pagination, par défaut elle est définie sur le conteneur de pager. | récipient |
ClasseToUl | chaîne | Classe CSS à ajouter à l'élément
| pagination |
ClasseVersLi | chaîne | Classe CSS à ajouter à l'élément | élément de page |
Classe de page | chaîne | Classe CSS à ajouter à l'élément / dans le contenu de la pagination, par défaut elle est définie sur page-link. | lien de page |
ClasseVersActiveLi | chaîne | Classe CSS à ajouter à l'élément | actif |
HasPagerText | bouffon | Affichage du numéro de page actuel et du nombre total de pages dans le téléavertisseur, par défaut il est défini sur false. | FAUX |
PagerTextFormat | chaîne | Le format de texte s'affichera si HasPagerText est vrai. Utilisez {0} pour faire référence à la page actuelle et {0} pour faire référence au nombre total de pages. Par défaut, il est défini sur la page {0} sur {1}. | Page {0} sur {1}. |
HasEntriesText | bouffon | Affichage de l'élément de départ, du dernier élément et du total des entrées dans le téléavertisseur, par défaut il est défini sur false. | FAUX |
EntréesTexteFormat | chaîne | Le format de texte s'affichera si HasEntriesText est vrai. {0} fait référence à la première entrée de la page, {1} fait référence au dernier élément de la page et {2} fait référence au nombre total d'entrées. Par défaut, il est défini sur Afficher {0} à {1} des {2} entrées. | Affichage de {0} à {1} des {2} entrées. |
Une énumération à trois états qui contrôle la visibilité de parties du contrôle de pagination PagerList.
public enum PagerDisplayMode
Champs | Description |
---|---|
Toujours | Toujours rendre. |
Jamais | Ne jamais rendre. |
Si nécessaire | Rendu uniquement lorsqu'il y a des données qu'il est logique d'afficher (sensible au contexte). |
@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 )
Sous licence MIT.