1.准备静态页面
1 2 3 4 56 7 8 9 10 11 12 13 14 15 16 17 用bootstrap table显示数据列表
18
22 | 编号 | 23登录名 | 24真实姓名 | 25性别 | 26操作 | 27
---|
2.写js代码
$(document).ready(function () { $('#table').bootstrapTable({ url:"ashx/list2.ashx",//数据源 sidePagination: 'server',//设置为服务器端分页 pagination: true, //是否分页 search: true, //显示搜索框 pageSize: 5,//每页的行数 pageList: [5, 10, 20], pageNumber: 1,//显示的页数 showRefresh: true,//刷新 striped: true,//条纹 sortName: 'adminID', sortOrder: 'desc', }); //删除按钮 $("#BtnDel").click(function () { var DelNumS = getCheck();//获取选中行的人的编号 // alert(DelNumS); //判断是否为空。。前面是否有多余的 逗号.(如果是全选,前面会多个,) if (DelNumS.charAt(0) == ",") { DelNumS = DelNumS.substring(1); } if (DelNumS == "") { alert("请选择额要删除的数据"); } else { $.ajax({ type: "post", url: "ashx/del.ashx", data: { "Action": "Del", "DelNums": DelNumS }, dataType: "text", success: function (data) { var json = eval('(' + data + ')'); alert(json.info); //刷新页面 // window.location.reload(); $('#table').bootstrapTable('refresh'); } }); } });});function SEXFormatter(value, row, index) { //处理性别的显示 if (value == 'True') { value = '男'; } else { value = '女'; } return value;}function editFormatter(value, row, index) { //处理操作 var str = '编辑 详情' value = str; return value;}function getCheck() { //获取表格里选中的行 的编号 var data = [];//数组 $("#table").find(":checkbox:checked").each(function () { var val = $(this).parent().next().text();//当前元素的上一级---里的下一个元素--的内容 data.push(val); }); return data.join(",");//用,连接}
3.写删除功能
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace web.Admin.ashx 7 { 8 ///9 /// Del 的摘要说明10 /// 11 public class Del : IHttpHandler12 {13 14 public void ProcessRequest(HttpContext context)15 {16 context.Response.ContentType = "text/plain";17 string json = "{}";18 string action = context.Request.Form["Action"];19 if (action == "Del")//删除操作20 {21 string DelNumS = context.Request.Form["DelNumS"];//获取批量删除的编号22 BLL.Admin bll = new BLL.Admin();23 if (bll.DeleteList(DelNumS))24 {25 json = "{'info':'删除成功'}";26 }27 else28 { json = "{'info':'删除失败'}"; }29 }30 context.Response.Write(json);31 }32 33 public bool IsReusable34 {35 get36 {37 return false;38 }39 }40 }41 }
4.写获取数据列表
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Data; 6 namespace web.Admin.ashx 7 { 8 ///9 /// l1 的摘要说明10 /// 11 public class list2 : IHttpHandler, System.Web.SessionState.IRequiresSessionState//session接口12 {13 14 public void ProcessRequest(HttpContext context)15 {16 context.Response.ContentType = "text/plain";17 string json = "{}";18 string action = context.Request.Form["Action"];19 20 int displayStart = int.Parse(context.Request["offset"]);21 int displayLength = int.Parse(context.Request["limit"]);22 23 BLL.Admin bll = new BLL.Admin();24 int total = bll.GetRecordCount("");25 DataSet ds = bll.GetListByPage("","", displayStart+1, displayStart+ displayLength);26 ds.Tables[0].TableName = "rows";27 //返回列表28 json = Web.DataConvertJson.DataTable2Json(ds.Tables[0]);29 //http://down.admin5.com/info/2015/1209/130229.html30 //??服务器端返回的数据中还要包括rows,total(数据总量)两个字段,前端要根据这两个字段分页。31 json = "{\"total\":" + total + "," + json.Substring(1);32 33 /*34 返回数据格式35 {"total":100,"rows":....}36 37 */38 39 context.Response.Write(json);40 }41 42 public bool IsReusable43 {44 get45 {46 return false;47 }48 }49 }50 }
5.BLL代码(...摘了部分)
1 public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)2 {3 return dal.GetListByPage( strWhere, orderby, startIndex, endIndex);4 }
6.关键的数据访问层
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex) { StringBuilder strSql=new StringBuilder(); strSql.Append("SELECT * FROM ( "); strSql.Append(" SELECT ROW_NUMBER() OVER ("); if (!string.IsNullOrEmpty(orderby.Trim())) { strSql.Append("order by T." + orderby ); } else { strSql.Append("order by T.adminID desc"); } strSql.Append(")AS Row, T.* from Admin T "); if (!string.IsNullOrEmpty(strWhere.Trim())) { strSql.Append(" WHERE " + strWhere); } strSql.Append(" ) TT"); strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex); return DbHelperSQL.Query(strSql.ToString()); }
////// 批量删除数据 /// public bool DeleteList(string adminIDlist ) { StringBuilder strSql=new StringBuilder(); strSql.Append("delete from Admin "); strSql.Append(" where adminID in ("+adminIDlist + ") "); int rows=DbHelperSQL.ExecuteSql(strSql.ToString()); if (rows > 0) { return true; } else { return false; } }
////// 获取记录总数 /// public int GetRecordCount(string strWhere) { StringBuilder strSql=new StringBuilder(); strSql.Append("select count(1) FROM Admin "); if(strWhere.Trim()!="") { strSql.Append(" where "+strWhere); } object obj = DbHelperSQL.GetSingle(strSql.ToString()); if (obj == null) { return 0; } else { return Convert.ToInt32(obj); } }
7.admin类
1 /** 版本信息模板在安装目录下,可自行修改。 2 * Admin.cs 3 * 4 * 功 能: N/A 5 * 类 名: Admin 6 * 7 * Ver 变更日期 负责人 变更内容 8 * ─────────────────────────────────── 9 * V0.01 2016/3/1 16:02:52 N/A 初版10 *11 * Copyright (c) 2012 Maticsoft Corporation. All rights reserved.12 *┌──────────────────────────────────┐13 *│ 此技术信息为本公司机密信息,未经本公司书面同意禁止向第三方披露. │14 *│ 版权所有:动软卓越(北京)科技有限公司 │15 *└──────────────────────────────────┘16 */17 using System;18 namespace Model19 {20 ///21 /// Admin:实体类(属性说明自动提取数据库字段的描述信息)22 /// 23 [Serializable]24 public partial class Admin25 {26 public Admin()27 {}28 #region Model29 private int _adminid;30 private string _loginid;31 private string _loginpwd;32 private string _adminname;33 private bool _sex;34 ///35 /// 36 /// 37 public int adminID38 {39 set{ _adminid=value;}40 get{ return _adminid;}41 }42 ///43 /// 44 /// 45 public string LoginID46 {47 set{ _loginid=value;}48 get{ return _loginid;}49 }50 ///51 /// 52 /// 53 public string LoginPWD54 {55 set{ _loginpwd=value;}56 get{ return _loginpwd;}57 }58 ///59 /// 60 /// 61 public string AdminName62 {63 set{ _adminname=value;}64 get{ return _adminname;}65 }66 ///67 /// 68 /// 69 public bool sex70 {71 set{ _sex=value;}72 get{ return _sex;}73 }74 #endregion Model75 76 }77 }