首先需要准备的东西 本文查询的方式为linq to entity
mvcpaging.dll分页控件
可以从http://download.csdn.net/detail/dagecc01/1472326 这里下载
然后新建一个项目,在项目中添加对mvcpaging的引用
引入命名空间using MvcPaging;
下一下,在Index方法中写
public ActionResult Index(int? page)
{
using (MusicStoreEntities db = new MusicStoreEntities())
{
//每页显示记录数,这里设置了18
const int defaultPageSize = 18;
int currentPageIndex = page.HasValue ? page.Value - 1 : 0;
var albums = db.Albums.Include(a => a.Genre).Include(a => a.Artist).OrderByDescending(a => a.AlbumId);
return View(albums.ToPagedList(currentPageIndex, defaultPageSize));
}
}
在View > Home > Index.cshtml
@model IPagedList<MvcMusicStore.Models.Album>
@using MvcPaging;
...//这里是显示数据的方,可自行实现。其实就是个foreach语句这里就不写了重点是下面
<div class="pager">
@Html.Raw(Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount, new { action = "/" }).Replace("?page=", "page/").ToString())
</div>
//这里写Replace("?page=", "page/").ToString()是为了让其显示为http://xxx.com/store/page/1这种格式 默认的是http://xxx.com/store?page=1
然后加上CSS
/* pager */
.pager
{
margin:8px 30px;
padding:3px;
}
.pager .disabled
{
border:1px solid #ddd;
color:#999;
margin-top:4px;
padding:3px;
text-align:center;
}
.pager .current
{
border:0px hidden;
font-weight:bold;
margin-top:4px;
padding:3px 5px;
text-align:center;
}
.pager span, .pager a
{
margin: 4px 3px;
}
.pager a
{
border:1px solid #c0c0c0;
padding:3px 5px;
text-align:center;
text-decoration:none;
}