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

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));

猜你喜欢

转载自blog.csdn.net/zyxhangiian123456789/article/details/80861911
今日推荐