MVC+EasyUI中datagrid分页(后台)

public JsonResult ModelList_Json()
        {
            int pagesize = int.Parse(Request["rows"]);//获取每页显示多少条记录
            int pagenum = int.Parse(Request["page"]);//获取当前页码
            List<MODEL.Model> list = GetList();//获取所有记录
            List<MODEL.Model> listpage=new List<MODEL.Model>();//分页显示的记录
            for (int i = 0; i < list.Count; i++)
            {//遍历所有记录中寻找此页要显示的记录并添加到listpage
                if (i >= (pagenum - 1) * pagesize && i < pagenum * pagesize)//判断是否要显示此记录
                {
                    listpage.Add(list[i]);
                }
            }
            var UIPages=new Dictionary<string,object>();//返回到前台的数据必须包括total(所有记录的条数)和rows(此页要显示的记录列表)
            UIPages.Add("total",list.Count);
            UIPages.Add("rows",listpage);
            return Json(UIPages,JsonRequestBehavior.AllowGet);
        }

前台借鉴http://www.cnblogs.com/huozhicheng/archive/2011/09/27/2193605.html

后台借鉴http://www.cnblogs.com/luminji/p/3294439.html

查询好多文章最后才做出来分页

作此记录,以后翻阅,以免忘记。

后来发现代码可以简化如下:

public JsonResult ModelList_Json()
        {
            int pagesize = int.Parse(Request["rows"]);//获取每页显示多少条记录
            int pagenum = int.Parse(Request["page"]);//获取当前页码
            List<MODEL.Model> list = GetList();//获取所有记录
            var listPage = list.Skip((pagenum - 1) * pagesize).Take(pagesize);//利用List的Skip简单实现了循环挑出需要显示的记录
            var UIPages = new { total = list.Count, rows = listPage };
            //返回到前台的数据必须包括total(所有记录的条数)和rows(此页要显示的记录列表)
            
            return Json(UIPages,JsonRequestBehavior.AllowGet);
        }

 

posted @ 2015-06-09 16:25  zhaizhuang  阅读(5002)  评论(1编辑  收藏  举报