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. Python 简易聊天机器人

    聊天机器人 | |-----MySql | |---module--"逻辑运算层" | | | |---ciku--"与词库交互" | | | |---dict ...

  2. Linux学习之四--Nginx

    关于Nginx的 nginx的是一个高性能的Web服务器的软件.它比Apache HTTP服务器更加灵活,重量轻的程序. 本教程将教你如何安装和你的CentOS 7服务器上启动Nginx的.   先决 ...

  3. inline-block和float

    Inline-block: 1.使块元素在一行显示 2.使内联支持宽高 3.换行被解析 4.不设置宽度,宽度由内容撑开 5.在IE6/7下不支持块标签 Float: 1.使块元素在一行显示 2.使内联 ...

  4. http://blog.csdn.net/java2000_wl/article/details/8627874

    http://blog.csdn.net/java2000_wl/article/details/8627874

  5. 关于SimpleAdapter和ListView结合使用,实现列表视图的笔记

    使用ListView需要为其添加适配器: 适配器有两种:1.ArrayAdapter  --用于单独文字显示 2.SimpleAdapter --用于文字和图片显示 这里主要记录SimpleAdapt ...

  6. UIPickerView去掉背景上的黑线

    - (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger) ...

  7. shell 多行注释

    :<<! 要注释的内容 要注释的内容 要注释的内容 !

  8. 一篇很好的Java、C、PHP、前端、Android、IOS的文章

    http://www.cctime.com/html/2016-11-8/1238265.htm 很好的讲了这些技术的学习路线,其中的文档资料很丰富,值得学习参考

  9. SQL Server数据阻塞原因

    阻塞形成原因 是由于SQL Server是高并发的,同一时间会有很多用户访问,为了保证数据一致性和数据安全,引入了锁的机制.同一时间只有拿到钥匙的用户能够访问,而其他用户需要等待. 死锁形成四大必要条 ...

  10. Myeclipse导包总是报错,jar包路径都没问题

    是访问限制报错. 方法一: 全局属性Project>preferences>java>Compiler>Errors/Warnings>把右侧的[Deprecated a ...