MVC实现分页功能

分页功能是我们在做查询时不可缺少的部分,做好分页不仅仅方便查看,也要许多的便利。
MVC的分页的实现需要有ViewBag来储存值
有较强的逻辑性
例子:
显示页面:
@{
ViewBag.Title = “Index”;
}

全圆园 666

@foreach (var item in Model) { }
编号 名称 备注
@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);
        }

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章