Easyui+EF+MVC+WCF实现分页

        高校平台中,后台使用EF框架,前端使用MVC结合Easyui,前端和后台的链接采用WCF传递数据,现在来说说是如何实现分页的。

页面:mvc+Easyui

        采用部分视图的方式调用拼接表格的部分视图,url放入页面加载时调用的方法(controller+方法名),例如我的controller为Template,方法名为QueryTemplateData。

  1. <div id="ContentAreas">  
  2.        @*先调用 对应的业务Controller中的表头数据*@  
  3.        @{Html.RenderAction("ShowTemplateProperties", "Template");}  
  4.   
  5.        @*加载 数据表格 datagrid 加参数——查询业务数据的url  *@  
  6.        @{Html.RenderAction("DataGrid", "ControlsPartial", new { url = "/Template/QueryTemplateData"});}  
  7.    </div>  
        效果如下:

   

Controller下的方法QueryTemplateData如下:

        pageSize指一页显示多少数据,pageIndex指第几页,out total,传地址,返回当前表格中所有数据条目数。

  1. #region 查询模板主表数据——页面首次加载  朱丹 2014年12月21日16:26:48  
  2.        /// <summary>  
  3.        /// 查询模板主表数据——页面首次加载  
  4.        /// </summary>  
  5.        /// <returns>string</returns>  
  6.        public ActionResult QueryTemplateData()  
  7.        {  
  8.            //pageSize页大小  
  9.            int pageSize = int.Parse(Request.QueryString["rows"].ToString().Trim());  
  10.   
  11.            //pageIndex第几页  
  12.            int pageIndex = int.Parse(Request.QueryString["page"].ToString().Trim());  
  13.   
  14.            int total = 0;  
  15.   
  16.            List<ExamTemplateMainEntity> listData = new List<ExamTemplateMainEntity>();  
  17.            ExamTemplateMainEntity enTemplate = new ExamTemplateMainEntity();  
  18.   
  19.            listData = userService.QueryTemplateMain(pageSize, pageIndex, out total);  
  20.            var data = new  
  21.            {  
  22.                total,  
  23.                rows = listData  
  24.            };  
  25.            return Json(data, JsonRequestBehavior.AllowGet);  
  26.   
  27.        }  
  28.        #endregion  
         值得注意的要为
  1. var data = new  
  2.    {  
  3.        total,  
  4.        rows = listData  
  5.    };  
  6.    return Json(data, JsonRequestBehavior.AllowGet);  
               此段代码是调用vs中的Json方法,将数据转换成如何Easyui表格分页的Json串,Easyui分页的Json串为:{"total":xx,"rows":[{...},{...}]}  total为总数  rows为数据数组。

         WCF和后台EF框架中的逻辑就不用我说了,只是将controller中的pageSize、pageIndex、out Total参数传后后台,获取数据库中的数据返回到Controller就可以了,这样就实现了分页。效果如下:

   

猜你喜欢

转载自blog.csdn.net/tink_tl/article/details/51364939