HowTo: Utilisation de MvcConsortingb.Pagination sans utiliser la vue MvcConsortingb.Grid

Cela a commencé comme une question, mais s’est transformé en une solution comme j’ai expérimenté! J’ai donc pensé partager cela avec vous tous. Ma question était:

Comment utiliser MvcConsortingb.Pagination sans utiliser MvcConsortingb.Grid View?

Ma réponse est ci-dessous …

Je suis en train de construire un système de billetterie du centre d’assistance (je suis un peu un débutant en C # – j’ai reçu de nombreux indicateurs de NerdDinner) et je souhaite utiliser une sorte de bibliothèque de pagination pour faciliter l’affichage. J’ai trouvé MvcConsortingb.Pagination et je l’ai obtenu pour travailler pour une vue. Mon avis n’utilise PAS MvcConsortingb.Grid car il est personnalisé.

Version réduite de ma vue List.aspx :

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage>" %> <%@ Import Namespace="MyProject.Areas.HelpDesk.Controllers" %> <%@ Import Namespace="MvcContrib.Pagination" %> 

Help Desk Tickets (showing <%= Model.Count() %> of <%= ViewData["totalItems"] %>)

<% foreach (var item in Model) { %>

<%= Html.Encode(item.Subject)%>

<% } %>

<%= Html.Pager((IPagination)Model)%>

Mon contrôleur (une partie) TicketController.cs :

 TicketRepository ticketRepository = new TicketRepository(); public ActionResult List(int? page, int? pageSize) { IPagination tickets = null; int dPageSize = 50; int totalItems; tickets = ticketRepository.GetTickets().ToList().AsPagination(page ?? 1, pageSize ?? dPageSize); ViewData["totalItems"] = tickets.TotalItems; return View("List", tickets); } 

J’utilise le modèle de référentiel qui renvoie les résultats au format IQueryable. Voici une partie du fichier TicketRepository.cs :

 public class TicketRepository { private HelpDeskDataContext db = new HelpDeskDataContext(); public IQueryable FindAllTickets() { return from ticket in db.hd_Tickets orderby ticket.CreatedDate descending select ticket; } } 

Cela peut sembler sortingvial à certains, mais si quelqu’un comme moi essaie d’apprendre C # et ASP.NET MVC et la pagination, cela peut être utile. Je recommande aux débutants de faire le tutoriel NerdDinner disponible sur:

http://nerddinnerbook.s3.amazonaws.com/Intro.htm

🙂