2010-05-21 81 views
4

我已经实现了分页html助手(改编自史蒂文桑德森的书)。这是当前的代码:分页助手asp.net mvc

公共静态字符串PageLinks(此的HtmlHelper HTML,INT当前页,INT总页数,函数功能PAGEURL) { StringBuilder的结果=新的StringBuilder();

 for (int i = 1; i <= totalPages; i++) 
     { 
      TagBuilder tag = new TagBuilder("a"); 
      tag.MergeAttribute("href", pageUrl(i)); 
      tag.InnerHtml = i.ToString(); 
      if (i == currentPage) 
       tag.AddCssClass("selectedPage"); 
      result.AppendLine(tag.ToString()); 
     } 

     return result.ToString(); 
    } 

这产生了一堆到我的项目的每一页的链接。如果有很多页面,这可能有点压倒性。我找了一个类似的实现产生的东西少压倒性这样的:

,其中6是当前页面。我肯定有人必须执行类似的事情......在我不得不重新实施轮子之前。

谢谢。

基督教

+0

对不起,我今天只能看到这个 - 会尽快接受你的答案。两个答案似乎都很好,所以不知道该怎么做。 – cs0815 2010-05-26 10:32:03

回答

2

有一个在MVCContrib一个pager helper

+0

非常感谢。我曾经使用jqgrid,但尽可能避免不引人注意的JavaScript。你有没有意识到这样的'mvc网格',它也允许排序和过滤?谢谢。 – cs0815 2010-05-21 07:19:04

+0

MVCContrib Grid支持排序:http://www.jeremyskinner.co.uk/2010/03/14/mvccontrib-grid-part-6-sorting/ – 2010-05-21 07:23:31

+0

我有这个位的问题:<%= Html.Pager(( IPagination)模型)%>当我编译它抱怨说它找不到html助手寻呼机。这只是一个进口问题?我正在使用:<%@ Import Namespace =“MvcContrib.UI.Grid”%> <%@ Import Namespace =“MvcContrib.Pagination”%> – cs0815 2010-05-26 12:56:34