2009-09-16 9 views
1

J'ai été exécuté à travers un problème de pagination de mon objet de liste dans asp.net mvc où mon objet est simplement chargé par LINQ-to-SQL.Will_paginate pour ASP.NET MVC

Est-ce une sorte de commande will_paginates?

dans des rails, je peux le faire comme

Users.paginate(:all, :page => 1, :page_size => 20) 
+1

+1 pour tous les gars. Je vous remercie. Je vais le plus simple. – Jirapong

Répondre

4

Check out - http://pagedlist.codeplex.com/

va créer une méthode d'extension ToPagedList qui peut être utilisé comme ceci:

using PagedList; 

var firstPage = list.ToPagedList(0, 20); // first page, page size = 20 

Console.WriteLine("Is first page? {0}", firstPage.IsFirstPage); // true 
Console.WriteLine("Is last page? {0}", firstPage.IsLastPage); // false 
Console.WriteLine("First value on page? {0}", firstPage[0]); // 1 
Console.WriteLine(); 
+0

Je suis étonné qu'ils aient réussi à faire une montagne de 168k (zippée) de cette taupinière! – spender

+2

Avant de critiquer, vous devriez considérer que la solution que vous proposez ne fonctionnera pas correctement sur la première page (et donc la plus demandée) (voir http://blogs.teamb.com/craigstuntz/2009/06/10/38313/), ne propose aucune fonctionnalité de pagination (bouton de pagination) dans la vue et doit être réimplémentée partout où elle est utilisée. –

+0

Pour être clair, mes commentaires sont dirigés vers Spender, pas CVertex. –

4

En Linq ce serait

Users.Skip(pageSize*page).Take(pageSize) 

Cela pourrait supposer zéro basé sur le système.

0

MVCContrib a une très flexible et facile à utiliser téléavertisseur