ASP.NETMVC分页使用的是作者杨涛的MvcPager分页控件地址:http://www.webdiyer.com/mvcpager/demos/ajaxpaging/
这个分页控件在里面有很好的的案例,及注意事项
分页在我们的项目中是经常需要使用到的,普通分页体验是在是太差了,每一次点击下一步,会造成页面刷新,自己都看不过去了,O(∩_∩)O哈哈~
所以这次我们要使用这个控件在做一个MvcPager的异步分页,分页的时候我们只刷新表格,而不是刷新页面
下面我们开始吧
一.分页
首先我们需要创建一个ASP.NETMVC的项目,具体怎么创建就不细说了
之后我们需要引入控件的dll文件
我是在官网下的案例,直接引用的,
当然你们也可以从NuGet包中引用
找到项目,点击右键会有一个管理NuGet程序包,我们打开它
输入Webdiyer找到,并安装
实体类
Article.cs
publicclassArticle
{
[Display(Name="文章编号")]
publicintID{get;set;}
[Display(Name="文章标题")]
[MaxLength(200)]
publicstringTitle{get;set;}
[Display(Name="文章内容")]
publicstringContent{get;set;}
[Display(Name="发布日期")]
publicDateTimePubDate{get;set;}
[Display(Name="作者")]
[MaxLength(20)]
publicstringAuthor{get;set;}
[Display(Name="文章来源")]
[MaxLength(20)]
publicstringSource{get;set;}
}
Cotroller
publicActionResultAjaxPaging(intid=1)
{
using(vardb=newDataContext())
{
varmodel=db.Articles.OrderByDescending(a=>a.PubDate).ToPagedList(id,5);
//判断是否是AJAX请求,如果为true,就返回分部视图
if(Request.IsAjaxRequest())
returnPartialView("_ArticleTable",model);
returnView(model);
}
}
应该可以看到,我们引用了这个分页控件的时候,我们返回的不在是List,而是PagedList
后面的ToPagedList(起始页,每页显示条数),起始页需要我们在本方法中定义intid=1
View:
@modelPagedList
@usingWebdiyer.WebControls.Mvc;
//这个ID就是我们在分页需要来更新的ID
@Html.Partial("_ArticleTable",Model)