1.前台js

 $().ready(function () {

     $('[name="checkAll"]').click(function () {
if ("checked" == $('input[name="checkAll"]').attr("checked")) {
$('input[type="checkbox"]').attr("checked", "checked");
} else {
$('input[type="checkbox"]').removeAttr("checked");
}
}); $('input[name="btnDelete"]').click(function () {
var checkCount = 0; $('input[type="checkbox"]').not('input[name="checkAll"]').each(function (index, element) {
if ("checked" == $(this).attr("checked")) {
checkCount++;
}
}); if (checkCount <= 0) {
alert("请选择您要删除的数据!");
return false;
} if (confirm("确定要删除吗?")) {
var data = "["; $('input[type="checkbox"]').not('input[name="checkAll"]').each(function (index, element) {
if ("checked" == $(this).attr("checked")) {
data += "{id : " + $(this).val() + "} ,";
}
}); if (data != "[") {
data = data.substring(0, data.length - 1) + "]"; $.post("/User/DeleteById", data, function success(result) {
//1.ajax返回单个字符串内容
//var msg = " <font style='color:red'>" + result + "</font>";
//if ($('#ajaxMsg').html() == '') {
// $('#ajaxMsg').append(msg);
//} //2.ajax返回多个字符串内容
var msg = " <font style='color:red'>删除成功!</font>";
if ($('#ajaxMsg').html() == '') {
$('#ajaxMsg').append(msg);
} $('input[name="checkAll"]').removeAttr("checked"); $('input[type="checkbox"]').not('input[name="checkAll"]').each(function (index, element) {
$(this).parent().parent().remove();
}); var ajaxResult = $.parseJSON(result);
$.each(ajaxResult, function (index, element) {
var tr = "<tr>"
+ "<td><input type='checkbox' value='" + element.ID + "' /></td>"
+ "<td><a href='/User/Detail/" + element.ID + "'>" + element.UserName + "</a></td>"
+ "<td>" + element.Phone + "</td>"
+ "<td>" + element.Email + "</td>"
+ "<td>" + element.Address + "</td>"
+ "<td>" + element.CreateTime + "</td>"
+ "<td>" + element.UpdateTime + "</td>"
+ "<td><a href='/User/Edit/" + element.ID + "'>修改</a></td>"
+ "<td><a href='/User/Delete/" + element.ID + "'>删除</a></td>"
+ "</tr>";
$('table').append(tr);
});
});
}
}
});
});

2.后台代码:

[HttpPost]
public ActionResult DeleteById()
{
String ajaxId = Request.Params[]; JavaScriptSerializer js = new JavaScriptSerializer();
List<AjaxReq> ajaxReqList = js.Deserialize<List<AjaxReq>>(ajaxId);
if (null != ajaxReqList && < ajaxReqList.Count())
{
foreach (AjaxReq ajaxReq in ajaxReqList)
{
UserDto user = new UserDto();
user.ID = ajaxReq.ID;
db.Entry<UserDto>(user).State = System.Data.EntityState.Deleted;
db.SaveChanges();
}
} List<UserDto> userList = db.Users.ToList(); //1.ajax返回单个字符串内容
//return base.Json("删除成功!"); //2.ajax返回多个字符串内容
return base.Json(js.Serialize(userList)); }

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. 11i和R12配置JAR包

    R11:$IAS_ORACLE_HOME/Apache/Jserv/etc/jserv.properties R12: 方法1:直接解压JAR包放到$JAVA_TOP下: 方法2:编辑:$ORA_CO ...

  2. dom 无法找到 body节点问题

    最近在学习html dom节点知识时候,对照代码自己敲了一边,始终获取不到文档中的body对象,代码如下(未修改前): <!doctype html> <html> <h ...

  3. KVM 虚拟机联网方式:NAT 和 Bridge

    KVM 客户机网络连接有两种方式: 用户网络(User Networking):让虚拟机访问主机.互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机,性能上也需要大的调整.NA ...

  4. (转)C#根据当前时间获取周,月,季度,年度等时间段的起止时间

    DateTime dt = DateTime.Now; //当前时间 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.T ...

  5. ASP.NET获取客户端、服务器端的信息

    ASP.NET获取客户端.服务器端基础信息 1. 在ASP.NET中专用属性: 获取服务器电脑名:Page.Server.ManchineName 获取用户信息:Page.User 获取客户端电脑名: ...

  6. webbrower判断页面是否加载完成的好方法

    public void WaitPageCompleted(int timeOutSec) { ; ; j < timeOutSec * ; j++) { _wb.Invoke(new Acti ...

  7. Koa2 的安装运行记录(二)

    参考 :koa2-boilerplate    https://github.com/superalsrk/koa2-boilerplate Ajax Login and Ajax Logout in ...

  8. java正则表达式获得html字符串中<img src>的src中的url地址

    /** * 得到网页中图片的地址 */ public static Set<String> getImgStr(String htmlStr) { Set<String> pi ...

  9. Android版本与api Level

    Platform Version API Level VERSION_CODE Notes Android 4.4 19 KITKAT Platform Highlights Android 4.3 ...

  10. 阿里云CentOS7系列一 -- 安装JDK7的方法.

    最近因为数据采集以及生产环境冲突.导入windows Server 2008系统经常死机.经讨论决定把采集服务程序和生产服务进行分开.采集程序通过windows Server2008运行.而生产程序通 ...