1.前台js

  1. $().ready(function () {
  2.  
  3. $('[name="checkAll"]').click(function () {
  4. if ("checked" == $('input[name="checkAll"]').attr("checked")) {
  5. $('input[type="checkbox"]').attr("checked", "checked");
  6. } else {
  7. $('input[type="checkbox"]').removeAttr("checked");
  8. }
  9. });
  10.  
  11. $('input[name="btnDelete"]').click(function () {
  12. var checkCount = 0;
  13.  
  14. $('input[type="checkbox"]').not('input[name="checkAll"]').each(function (index, element) {
  15. if ("checked" == $(this).attr("checked")) {
  16. checkCount++;
  17. }
  18. });
  19.  
  20. if (checkCount <= 0) {
  21. alert("请选择您要删除的数据!");
  22. return false;
  23. }
  24.  
  25. if (confirm("确定要删除吗?")) {
  26. var data = "[";
  27.  
  28. $('input[type="checkbox"]').not('input[name="checkAll"]').each(function (index, element) {
  29. if ("checked" == $(this).attr("checked")) {
  30. data += "{id : " + $(this).val() + "} ,";
  31. }
  32. });
  33.  
  34. if (data != "[") {
  35. data = data.substring(0, data.length - 1) + "]";
  36.  
  37. $.post("/User/DeleteById", data, function success(result) {
  38. //1.ajax返回单个字符串内容
  39. //var msg = " <font style='color:red'>" + result + "</font>";
  40. //if ($('#ajaxMsg').html() == '') {
  41. // $('#ajaxMsg').append(msg);
  42. //}
  43.  
  44. //2.ajax返回多个字符串内容
  45. var msg = " <font style='color:red'>删除成功!</font>";
  46. if ($('#ajaxMsg').html() == '') {
  47. $('#ajaxMsg').append(msg);
  48. }
  49.  
  50. $('input[name="checkAll"]').removeAttr("checked");
  51.  
  52. $('input[type="checkbox"]').not('input[name="checkAll"]').each(function (index, element) {
  53. $(this).parent().parent().remove();
  54. });
  55.  
  56. var ajaxResult = $.parseJSON(result);
  57. $.each(ajaxResult, function (index, element) {
  58. var tr = "<tr>"
  59. + "<td><input type='checkbox' value='" + element.ID + "' /></td>"
  60. + "<td><a href='/User/Detail/" + element.ID + "'>" + element.UserName + "</a></td>"
  61. + "<td>" + element.Phone + "</td>"
  62. + "<td>" + element.Email + "</td>"
  63. + "<td>" + element.Address + "</td>"
  64. + "<td>" + element.CreateTime + "</td>"
  65. + "<td>" + element.UpdateTime + "</td>"
  66. + "<td><a href='/User/Edit/" + element.ID + "'>修改</a></td>"
  67. + "<td><a href='/User/Delete/" + element.ID + "'>删除</a></td>"
  68. + "</tr>";
  69. $('table').append(tr);
  70. });
  71. });
  72. }
  73. }
  74. });
  75. });

2.后台代码:

  1. [HttpPost]
  2. public ActionResult DeleteById()
  3. {
  4. String ajaxId = Request.Params[];
  5.  
  6. JavaScriptSerializer js = new JavaScriptSerializer();
  7. List<AjaxReq> ajaxReqList = js.Deserialize<List<AjaxReq>>(ajaxId);
  8. if (null != ajaxReqList && < ajaxReqList.Count())
  9. {
  10. foreach (AjaxReq ajaxReq in ajaxReqList)
  11. {
  12. UserDto user = new UserDto();
  13. user.ID = ajaxReq.ID;
  14. db.Entry<UserDto>(user).State = System.Data.EntityState.Deleted;
  15. db.SaveChanges();
  16. }
  17. }
  18.  
  19. List<UserDto> userList = db.Users.ToList();
  20.  
  21. //1.ajax返回单个字符串内容
  22. //return base.Json("删除成功!");
  23.  
  24. //2.ajax返回多个字符串内容
  25. return base.Json(js.Serialize(userList));
  26.  
  27. }

ajax删除DB数据的更多相关文章

  1. 一般删除网页数据和jquery下使用Ajax删除数据的区别

    1. 一般删除网页数据 就是指用户在点击删除的时候,会跳转到DeleteUser.ashx一般处理程序中,并且通过get传参的方式传递一个id的参数,然后在后台处理 <a href='Delet ...

  2. MVC使用jQuery.ajax()删除数据

    jQuery.ajax()可以简写为$.ajax().以前有写过MVC删除的实现,如<MVC实现删除数据库记录> http://www.cnblogs.com/insus/p/336804 ...

  3. python 全栈开发,Day75(Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件)

    昨日内容回顾 基于对象的跨表查询 正向查询:关联属性在A表中,所以A对象找关联B表数据,正向查询 反向查询:关联属性在A表中,所以B对象找A对象,反向查询 一对多: 按字段:xx book ----- ...

  4. Django与Ajax,文件上传,ajax发送json数据,基于Ajax的文件上传,SweetAlert插件

    一.Django与Ajax AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻 ...

  5. 用Ajax删除的做法

    一般程序文件代码 using System;using System.Web;using System.Linq;using System.Data.Linq; public class Shanch ...

  6. 通过Transaction Log(fn_dblog)取回被删除的数据

    最近跟 James 讨论为何「ApexSQL Log」这个工具可以读到被删除的数据呢? 原来它是透过 Transaction Log 来读取数据的! 于是透过 Transaction Log 到网络上 ...

  7. jmeter导入DB数据再再优化

    前言:分享和规定命名规范后,各位测试人员一致认为这样jmeter的jmx文件限制太死,主要体现六方面: 第一:规定了一个jmx文件只能录入一个接口,这样会导致jmx文件很多 第二:导入DB的jmx文件 ...

  8. mongodb删除重复数据

    注:mongodb当前版本是3.4.3   插入六条数据:   查询存在重复的数据:   查询并循环删除重复数据:   删除语句解析: db.userInfo.aggregate([     {   ...

  9. 前台返回json数据的常用方式+常用的AJAX请求后台数据方式

    我个人开发常用的如下所示: 之所以像下面这样下,一是前台Ajax,二是为安卓提供接口数据 现在常用的是返回JSON数据,XML的时代一去不复返 JSON相对于XML要轻量级的多 对JSON不是十分熟悉 ...

随机推荐

  1. ubuntu系统theano和keras的安装

    说明:系统是unbuntu14.04LTS,32位的操作系统,以前安装了python3.4,现在想要安装theano和keras.步骤如下: 1,安装pip sudo apt-get install ...

  2. 使用php+swoole对client数据实时更新(下)

    上一篇提到了swoole的基本使用,现在通过几行基本的语句来实现比较复杂的逻辑操作: 先说一下业务场景.我们目前的大多数应用都是以服务端+接口+客户端的方式去协调工作的,这样的好处在于不论是处在何种终 ...

  3. NFS配置(centos)

    一.简介    NFS(Network File System/网络文件系统):       1).设置Linux系统之间的文件共享(Linux与Windows中间文件共享采用SAMBA服务): 2) ...

  4. SQL处理数组,字符串转换为数组

    原文转载自:http://hi.baidu.com/gagahjt/item/fd081316450f05028ebde413 一.按指定符号分割字符串,返回分割后的元素个数,方法很简单,就是看字符串 ...

  5. iOS音频解码表格

  6. web页面跳转的几种方式

    可用客户端触发或服务端触发的方式来实现页面跳转. 客户端触发 方式一:使用Javascript 利用window.location对象的href属性.assign()方法或replace()方法来实现 ...

  7. HTTP返回码中301与302的区别 (转载)

    一.官方说法 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于:  301 redirect: 301 代表永久性转移(Permanently Moved). 302 ...

  8. BZOJ 题目整理

    bzoj 500题纪念 总结一发题目吧,挑几道题整理一下,(方便拖板子) 1039:每条线段与前一条线段之间的长度的比例和夹角不会因平移.旋转.放缩而改变,所以将每条轨迹改为比例和夹角的序列,复制一份 ...

  9. CSS3实现鼠标移动到图片上图片变大

    CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义 <!DOCTYPE html><html> <head&g ...

  10. Appium 三种wait方法(appium 学习之改造轮子)

    前些日子,配置好了appium测试环境,至于环境怎么搭建,参考:http://www.cnblogs.com/tobecrazy/p/4562199.html   知乎Android客户端登陆:htt ...