ASP.Net mvc分页查询实战

  1. 分页查询控制器
  2. 分页查询前台界面
  3. 分页查询JS代码

分页查询控制器

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);
        }

前台代码

@{
ViewBag.Title = “Index”;
}

/value="@ViewBag.name" 固定查询条件,防止查询条件因页面刷新刷新
@foreach (var item in Model) { }
编号 名称 备注
@item.ID @item.Name @item.Remark
# js代码
@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>

}

猜你喜欢

转载自blog.csdn.net/weixin_45191758/article/details/106576036