今天做了一个简单的批量删除操作,虽然简单,但是很多问题出现,终究还是技术不够熟练。 现在在这里跟大家分享一下。仅供学习。。。
1、在前台获取用户点击的信息id,把这里id封装到一个数组里面;(rows数组是我通过 EasyUI插件获取到用户批量要删除id的一个数组,你们也可以使用其他方法获取到这些要批量删除的id数组)
1 //获取用户点击的学生id数组 2 var arr = new Array(); 3 for (var i = 0; i < rows.length;i++) { 4 arr[i] = rows[i].sId; 5 }
2、使用JSON.stringify()将数组对象arr转换为一个字符串;
1 var d = JSON.stringify(arr);
3.使用jQuery的get方法向后台传输数据;
1 //异步删除数据 2 $.get("deleteData.ashx", { sId: d }, function (data) { 3 if (data== "ok") { 4 5 $.messager.alert("提示信息", "删除成功", "icon-ok"); 8 } 9 else { 10 $.messager.alert("提示信息", "删除失败", "icon-cancel"); 11 } 12 });
4.后台获取前台传输的数据,进行批量删除操作(代码中的BLL.StuEnroll stuBLL = new BLL.StuEnroll() 和 stuBLL.Delete(id)是我删除数据的相关代码,大家不用问我这是什么意思啦,其中的删除代码大家也可以自己编写);
1 public void ProcessRequest(HttpContext context) 2 { 3 //获取前台传过来的字符串数据:【3,4,5】 4 string sId = context.Request.QueryString["sId"]; 5 6 //去掉前后字符串前后‘【’和‘】’两个字符 7 sId = sId.Substring(0, sId.Length - 1); 8 sId = sId.Substring(1, sId.Length - 1); 9 10 BLL.StuEnroll stuBLL = new BLL.StuEnroll(); 11 12 //以逗号分割sId字符串:3,4 13 string[] strarr = sId.Split(','); 14 15 //变量count是统计删除个数的,如果count和字符串数组的长度strarr.Length不一致,则说明不能全部批量删除 16 int count=0; 17 for (int i = 0; i < strarr.Length; i++) 18 { 19 int id = int.Parse(strarr[i]); 20 if(stuBLL.Delete(id)){ 21 count++; 22 } 23 } 24 if (strarr.Length==count) 25 { 26 context.Response.Write("ok"); 27 } 28 else{ 29 context.Response.Write("err"); 30 } 31 32 33 }
5.我是入门生,这些代码仅供学习,大神勿喷哈。分享快乐!