分页功能是我们在做查询时不可缺少的部分,做好分页不仅仅方便查看,也要许多的便利。
MVC的分页的实现需要有ViewBag来储存值
有较强的逻辑性
例子:
显示页面:
@{
ViewBag.Title = “Index”;
}
全圆园 666
编号 | 名称 | 备注 |
---|---|---|
@item.ID | @item.Name | @item.Remark |
@section scripts{
<script>
function page(pageIndex) {
var name = $("#txtCondName").val(); //获取搜索框的值
var pageSize = $("#pageSize").val(); //获取下拉框的值
window.location.href = "/role/index?pageindex=" + pageIndex
+ "&pageSize=" + pageSize + "&name=" + name;
}
function go() {
//获取输入的页码的值
var pageIndex = $("#pageIndex").val();
page(pageIndex);
}
</script>
}
控制器页面代码:
public ActionResult Index(int pageIndex=1,int pageSize=10,string name="")
{
//获取总记录数
var totalRows = db.Roles.Count();
//计算总页数
var totalPages = Math.Ceiling(totalRows * 1.00 / pageSize);
ViewBag.totalPages = totalPages;
var roles = db.Roles.Where(p=>p.Name.Contains(name))
.OrderBy(p=>p.ID) //排序
.Skip((pageIndex-1) * pageSize) //跳过
.Take(pageSize) //取
.ToList();
ViewBag.pageIndex = pageIndex;
ViewBag.name = name;
ViewBag.pageSize = pageSize;
return View(roles);
}