mvc+EF+easyui 分页控件使用方法

前台页面    

window.onload = function ()

    {
        _griduser = $("#griduser");
        _griduser.datagrid('options').url = "/Home/Select";

        _griduser.datagrid('load', {});

     //分页控件的显示

        _griduser.datagrid('getPager').pagination(
      {
          afterPageText: '页,共 {pages} 页',
          beforePageText: '第',
          displayMsg: '共 {total} 个用户',
          showPageList: true
      });
    }
</script>
@{
    ViewBag.Title = "Index";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="easyui-layout" fit="true">
    <div data-options="region:'center',border:false">
        <table  class="easyui-datagrid" id="griduser" data-options="idField: 'ID'"  fit="true" nowrap="false" pagination="true" rownumbers="true" singleselect="true">
            <thead>
                <tr>
                    <th field="Name" width="250" data-options="fixed: true">客户名称</th>
                    <th field="UpdateTime" width="150" data-options="fixed: true">最后修改时间</th>
                    <th field="UpdateUser" width="100" data-options="fixed: true">修改人</th>
                    <th field="CreateTime" width="150" data-options="fixed: true">首次创建时间</th>
                    <th field="CreateUser" width="100" data-options="fixed: true">创建人</th>
                </tr>
            </thead>
        </table>
    </div>

</div>

//前台请求路由

   public ActionResult select(UserRequest paraRequest)
        {
           var  query = from c in db.Users
                    where c.Status == 1
                    select new
                    {
                        c.Name,
                        c.UpdateTime
                    };
            return get(query, paraRequest,t => t.UpdateTime, true);
        }

//根据请求参数获取请求的页面数据  其中PagingRequest 为前台分页控件的请求数据,fn_order_by为按什么顺序
        protected ActionResult get<T>(IQueryable<T> query, PagingRequest request, Func<T, dynamic> fn_order_by, bool desc) where T : class
        {
            if (request.Rows == 0)
                request.Rows = int.MaxValue;
            if (request.Page == 0)
                request.Page = 1;
            if (desc)
            {
                return paging_result<T>(
                query.Count(),
                    query
                    .OrderByDescending(fn_order_by)
                    .Skip((request.Page - 1) * request.Rows)
                    .Take(request.Rows));
            }
            else
            {
                return paging_result<T>(
                    query.Count(),
                        query
                        .OrderBy(fn_order_by)
                        .Skip((request.Page - 1) * request.Rows)
                        .Take(request.Rows)
                );
            }
        }

protected ActionResult get<T>(IQueryable<T> query, PagingRequest request) where T : class
{
return paging_result<T>(query.Count(), query.Skip((request.Page - 1) * request.Rows).Take(request.Rows));
}
//返回给前台json类型的数据
        protected JsonResult paging_result<T>(int count, IEnumerable<T> model)
        {
            return Json(new
            {
                total = count,
                rows = model,
            });
        }

//用于接收分页控件传来的参数
        public class PagingRequest
        {
            public PagingRequest()
            {
                Page = 1;
                Rows = int.MaxValue;
            }
            public int Page { get; set; }
            public int Rows { get; set; }
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这个月太忙没时间看C++

你的鼓励将是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值