Mvc3中默认提供了一个WebGrid扩展方法,这个方法实现列表功能是非常的强大,但是的asp.net中的GridView一样,它的分页查询都是基于内存的,这样对服务器的性能影响就比较大,在网上也看到很实现分页的代码,但能运行起来的也是很有限,根据最近这段时间的学习,作一个学习笔记。
生成效果如下(使用了MVCPager):
此分页是通过jquery异步调用生成的,下面来看看怎样达到这样的效果:
还是打开上次准备好的项目,引用MvcPager程序集,最好从网站上下载最新的代码自己编译,下载地址为“http://www.webdiyer.com/Controls/MvcPager/”,我当时就遇到过下载到的dll引用的MVC的版本和我本地的不一样,上面使用的MVCPager,我修改了一下输出的地址,如下所示:
调用了自定义的函数(“LoadMvcPage”),修改过程如下:
打开MvcPager中PageBuiler.cs文件,修改函数“GeneratePagerElement,GenerateAnchor”为如下内容:
string GenerateAnchor(PagerItem item)
2: {
3:
return GeneratePagerElement(item).ToHtmlString();
5: }
private MvcHtmlString GeneratePagerElement(PagerItem item)
7: {
//pager item link
string url = GenerateUrl(item.PageIndex);
//first,last,next or previous page
, item.Text));
return CreateWrappedPagerElement(item,
string.IsNullOrEmpty(url)
14: ? _html.Encode(item.Text)
, url, item.Text,loadPageAction));
16: }