[asp.net]jquery easyui分页插件使用

本文介绍如何使用 EasyUI 的 Datagrid 组件实现前端分页,并通过与后台交互获取数据,展示了具体的前端配置和后端处理程序代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.前端(pagination设置为true)

        <table id="dg" class="easyui-datagrid" url="/Menu/MenuHandler.ashx?action=GetAll"
            toolbar="#toolbar" rownumbers="true" fitcolumns="true" singleselect="true" pagination="true">
            <thead>
                <tr>
                    <th field="Id" width="50">
                        菜单号
                    </th>
                    <th field="Name" width="50">
                        菜单名称
                    </th>
                    <th field="ParentId" width="50">
                        父菜单号
                    </th>
                    <th field="Num" width="50">
                        菜单序号
                    </th>
                    <th field="Disc" width="50">
                        菜单描述
                    </th>
                    <th field="Url" width="50">
                        URL
                    </th>
                    <th field="Ico" width="50">
                        菜单图标
                    </th>
                    <th field="Level" width="50">
                        菜单等级
                    </th>
                </tr>
            </thead>

        </table>

2.后台处理程序(total必须是总的数据条数,不是一页中包含的数据条数)

        /// <summary>
        /// 获取一页菜单信息
        /// </summary>
        /// <returns>用户信息列表的json字符串形式</returns>
        public string GetAll(int page, int rows)
        {
            int start = (page - 1) * rows;
            int end = page * rows;
            List<MenuInfo> menus = new List<MenuInfo>();
            string sql = "SELECT * FROM `web`.`菜单表`";
            string where = "limit " + start + "," + end;
            Dictionary<string, object> d = new Dictionary<string, object>();
            //获取数据总数(注意是总数,不是一页中数据的条数)
            DataTable dTable = data.GetTable(sql);
            d.Add("total", data.GetTable(sql).Rows.Count);
            //获取page页的数据
            dTable = dTable.AsEnumerable().Skip((page - 1) * rows).Take(rows).CopyToDataTable();
            for (int i = 0; i < dTable.Rows.Count; i++)
            {
                MenuInfo menu = new MenuInfo();
                menu.Id = dTable.Rows[i]["菜单号"].ToString();
                menu.Name = dTable.Rows[i]["菜单名称"].ToString();
                menu.ParentId = dTable.Rows[i]["父菜单号"].ToString();
                menu.Num = dTable.Rows[i]["菜单序号"].ToString();
                menu.Disc = dTable.Rows[i]["菜单描述"].ToString();
                menu.Url = dTable.Rows[i]["URL"].ToString();
                menu.Ico = dTable.Rows[i]["菜单图标"].ToString();
                menu.Level = dTable.Rows[i]["菜单等级"].ToString();
                menus.Add(menu);
            }
            d.Add("rows", menus);
            return JsonConvert.SerializeObject(d);
        }

    一般处理程序调用分页方法:(datagrid会向后台传送page和rows,他们分别代表页码和每页的数据条数)

        int page = int.Parse(context.Request.Form["page"]);
        int rows = int.Parse(context.Request.Form["rows"]);
        context.Response.Write(GetAll(page, rows));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值