MVC+EF+分页条 实现刷新分页

Ef实现分页的方法:

 

Skip : 跳过指定的条数

Take : 取出连续的条数

 

注意:Ef分页要先指定一个排序

 

例如:假设每页显示5条    page,rows

  

第一页:page= 1, rows =5

Oae.Users.orderby(a=>a.Id).skip(0).take(5)

Oae.Users.orderby(a=>a.Id).skip((page-1)* rows).take(rows)

第二页:page= 2, rows =5

Oae.Users.orderby(a=>a.Id).skip(5).take(5)

Oae.Users.orderby(a=>a.Id).skip((page-1)* rows).take(rows)

 

第三页:

Oae.Users.orderby(a=>a.Id).skip(10).take(5)

Oae.Users.orderby(a=>a.Id).skip((page-1)* rows).take(rows)


在前台实现分页条

MVC+EF+分页条 实现刷新分页

 MVC+EF+分页条 实现刷新分页


这是写好的分页条

MVC+EF+分页条 实现刷新分页


创建数据库和用户表

MVC+EF+分页条 实现刷新分页

 

 插入测试数据

MVC+EF+分页条 实现刷新分页

 

在后台实现代码:

在DAL层写方法

  /// <summary>
        /// 分页查询用户表
        /// </summary>
        /// <param name="page"></param>
        /// <param name="rows"></param>
        /// <returns></returns>
        public List<Users> GetList(int page,int rows)
        {

            OAEntities oae = new OAEntities();

            List<Users> ulist = oae.Users.OrderBy(a => a.Id).Skip((page - 1) * rows).Take(rows).ToList();

            return ulist;
        
        }

        /// <summary>
        /// 查询总条数
        /// </summary>
        /// <returns></returns>
        public int GetAllCount()
        {

            OAEntities oae = new OAEntities();

            return oae.Users.Count();
        }


在控制台调用方法

public ActionResult Index(int? page,int? rows)
        {

    //实例化DAL层
            UserDAL ud = new UserDAL();

            if (page==null)//第一次加载
            {
                page = 1;

                rows = 5;
            }

            List<Users> ulist = ud.GetList((int)page, (int)rows); //调用分页查询用户表的方法

            ViewBag.ulist = ulist;

            //把当前页传到前台
            ViewBag.cpage = page;

            //总条数
            int allcount = ud.GetAllCount();

            //把总条数变成总页数
            int allpage = (int)(allcount/rows);

            if (allcount%rows!=0)
            {
                allpage = allpage + 1;  //如果余数不为0总页数就加上1
            }

            //把总页数传到前台
            ViewBag.allpage = allpage;

            return View();
        }


在前台把用户表遍历出来

MVC+EF+分页条 实现刷新分页

 

取出当前页和总页数

MVC+EF+分页条 实现刷新分页

 

 最后在网页中实现分页的效果

MVC+EF+分页条 实现刷新分页