View
<script type="text/javascript"> var dd; var grid; $(function () { var queryData = null; grid = $('#grid').datagrid({ //定位到Table标签,Table标签的ID是grid url: '@Url.Action("getUserList")', //指向后台的Action来获取当前菜单的信息的Json格式的数据 title: '用户菜单', iconCls: 'icon-view', height: 550, function () { return document.body.clientWidth * 0.9 }, nowrap: true, autoRowHeight: false, striped: true, collapsible: true, pagination: true, //分页插件置为true pageSize: 10, //每页显示几条数据 pageNumber: 1, //页索引 rownumbers: true, sortOrder: 'asc', remoteSort: false, idField: 'U_ID', columns: [[ { field: 'ck', checkbox: true }, //选择 {title: '用户名', field: 'U_Name', 150 }, { title: '角色名称', field: 'R_Name', 80 }, ]], toolbar: [{ id: 'btnAdd', text: '添加', iconCls: 'icon-add', handler: function () { ShowAddDialog(); //实现添加记录的页面 } }, '-', { id: 'btnEdit', text: '编辑', iconCls: 'icon-edit', handler: function () { var selected = grid.datagrid("getSelected"); if (selected) { var userID = selected.U_ID; ShowEditOrViewDialog(userID); //实现修改记录的方法 } else { $.messager.alert("友情提示", "请选择"); } } }, '-', { id: 'btnDelete', text: '删除', iconCls: 'icon-remove', handler: function () { Delete(); //实现直接删除数据的方法 } }, '-', { id: 'btnReload', text: '刷新', iconCls: 'icon-reload', handler: function () { //实现刷新栏目中的数据 $("#grid").datagrid("reload"); } }], onDblClickRow: function (rowIndex, rowData) { $('#grid').datagrid('uncheckAll'); $('#grid').datagrid('checkRow', rowIndex); ShowEditOrViewDialog(rowData.D_id); } }) </script>
Controller:

/// <summary> /// 获取用户列表 /// </summary> public ActionResult getUserList() { //判断参数不为空 if (string.IsNullOrEmpty(Request.Params["page"])) { return null; } //获取前台参数数组值 var page = Request.Params["page"]; var pageSize = Request.Params["rows"]; var pageIndex = int.Parse(page) - 1; using (UserService.UserContractClient client = new UserService.UserContractClient()) { int size = Convert.ToInt32(pageSize); int index = Convert.ToInt32(pageIndex); RoleService.RoleContractClient role = new RoleService.RoleContractClient(); List<Role> rolelist = role.GetList().ToList(); //管理员全部显示 其他角色显示部分 var adminuser = (User)Session["adminuser"]; var rid = adminuser.U_RoleID; var uid = adminuser.U_ID; string rname = role.GetRole(rid.ToString()).R_Name; if (rname.Contains("管理员")) { List<User> userlist = client.GetList().OrderByDescending(s => s.U_ID).ToList(); //获取符合条件的用户总条数 int totalCount = userlist.Count(); var query = from b in rolelist from c in userlist where c.U_RoleID == b.R_ID select new { c.U_ID, c.U_Name, b.R_Name }; //分页 query = query.Skip(size * (index)).Take(size); var jsonResult = new { total = totalCount, rows = query }; return Json(jsonResult, JsonRequestBehavior.AllowGet); } else { List<User> userlist = client.GetListOrderBy(uid).OrderByDescending(s => s.U_ID).Skip(size * (index)).Take(size).ToList(); //获取符合条件的所有记录条数 int totalCount = userlist.Count(); var query = from b in rolelist from c in userlist where c.U_RoleID == b.R_ID select new { c.U_ID, c.U_Name, b.R_Name }; var jsonResult = new { total = totalCount, rows = query }; return Json(jsonResult, JsonRequestBehavior.AllowGet); } } }