本例数据库操作使用EF code first;

先利用mvc自带的模板,先生成一个list视图,然后再手动添加复选框和删除按钮

<table>
<tr>
@*在标题行添加一个全选按钮*@
<th>@Html.CheckBox("checkall")
</th>
<th>
用户名
</th>
<th>
密码
</th>
<th>
</th>
</tr>
@foreach (var item in Model)
{
<tr>
@*此处添加复选框,并将ID号绑定到name属性上*@
<td>@Html.CheckBox(item.Uid.ToString())
</td>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.DisplayFor(modelItem => item.PassWord)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Uid }) |
@Html.ActionLink("Details", "Details", new { id = item.Uid })
</td>
</tr>
}
</table>
@*添加一个删除按钮*@
<input type="submit" id="delall" value="删除所选" />

我取消掉了每一行上面的删除按钮,如果需要ajax实现单行删除的同学,请稳步 MVC3学习:利用mvc3+ajax实现删除记录

然后在此页面上编写JUery AJAX实现批量删除。

<script type="text/javascript">
$(function () {
//全选
$("#checkall").click(function () {
$("[type='checkbox']").attr("checked", $(this).attr("checked"));
}); $("#delall").click(function () {
//确定至少选择一项
if ($("[type='checkbox']:checked").length == 0)
alert("请至少选择一项");
//批量删除
else if (confirm("真的要删除所有选择的记录吗???")) {
$("[type='checkbox']:checked").each(function () {
var id = $(this).attr("name");
var tr = $(this).parent().parent();
$.post("delete", { id: id },
function (data) {
if (data == "-1") { alert("删除错误"); return false; }
else $(tr).remove();
});
});
}
});
});
</script>

每一行记录的ID号绑定在了复选框的name属性上,取出来后作为参数传递给控制器的delete方法进行处理。虽然每次只能删除一行记录,但通过JQuery的each方法可以实现循环删除。

然后编写控制器的delete方法

 public ActionResult delete(int id)
{
try
{
if (Request.IsAjaxRequest())
{ Users u = db.Users.Find(id);
db.Users.Remove(u);
int n = db.SaveChanges();
return Content(n.ToString());
}
return Content("-1");
}
catch
{
return View();
}
}

此处利用EF code first的Find()、Remove()、SaveChange()等方法来实现一行记录的删除。利用Request.IsAjaxRequest()来判断是否进行ajax数据传递。

需要注意的是,delete方法的参数名,一定要和ajax传递的参数名一致。

MVC3学习:利用mvc3+ajax实现全选和批量删除的更多相关文章

  1. php--jquery操作全选、批量删除、加减行

  2. AJAX实现弹窗显示详情,全选和批量删除

    以Nation表为例,将Nation表显示在页面上,每一行数据前面加上复选框,后面加上查看详情,点击以弹窗形式显示每一行的数据,并且在表格最后一行加上全选复选框,点击选中全部数据,后面跟一个批量删除按 ...

  3. 关于jquery全选反选 批量删除的一点心得

    废话不多说直接上代码: 下面是jsp页面的html代码: <table id="contentTable" class=""> <thead& ...

  4. angularJS 全选反选批量删除

    <th> <label for="flag"> <span ng-hide="master">全选</span> ...

  5. jquery操作全选、批量删除、加减行

    --------------------------------------------------------------------------------------- html静态页面 --- ...

  6. 利用jQuery实现CheckBox全选/全不选/反选

    转自:http://www.cnblogs.com/linjiqin/p/3148259.html jQuery有些版本中实现CheckBox全选/全不选/反选会有bug,经测试jquery-1.3. ...

  7. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  8. jQuery实现checkbox全选反选及删除等操作

    1.list.html 说明:用checkbox数组Check[]存放每一行的ID值 <div id="con"> <table width="100% ...

  9. c# 全选和批量修改

    //全选 function checkAll(){ var items = document.getElementsByTagName("input"); for(var i =0 ...

随机推荐

  1. warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY

    问题: yum安装软件时候报如下错误: warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOK ...

  2. 实现数组(java)

    一,数组 java中有对数组的数据结构:数组就是一个存放固定数据的结构. 数组的声明举例:int [] array=new int [3],与之相同的是private  in [ ] array; a ...

  3. BT1120时序,可以用于自测用

    module bt1120_gen #( , , , , , )( input clk, input rst_p, // input [5:0] h_sync_pixcels, // input [5 ...

  4. RuntimeException

    Throwable Error ... Exception !RuntimeException RuntimeException 两类:checked exceptions 和 unchecked e ...

  5. Chapter15 Principles of Metabolic Regulation

    15.1 调节代谢的通路 (1)细胞和有机体维持着动态稳定 调节作用的基因多 2500个 12% 激酶占比多 300个 一个通路受到多方调节 (2)酶的数量和催化活性 可以被调节 反应物的调控 糖酵解 ...

  6. android:padding和android:margin的区别[转]

    本文综合了:http://zhujiao.iteye.com/blog/1856980 和 http://blog.csdn.net/maikol/article/details/6048647 两篇 ...

  7. lua rc4算法实现

    由于项目需要,用python django写restful接口遇到瓶颈,python django+uwsgi处理请求是会阻塞的, 如果阻塞请求不及时处理,会卡住越来越多的其它的请求,导致越来越多的5 ...

  8. hdu 2688

    这题,因为要统计之前有多少个数比当前的数小,所以我用的树状数组 基本代码就是这样,还是比较好想的,只不过我没想出来罢了 #include <iostream> #include <c ...

  9. [kuangbin]树链剖分 D - 染色

    https://vjudge.net/contest/251031#problem/Dhttps://blog.csdn.net/kirito_acmer/article/details/512019 ...

  10. html5 实现qq聊天的气泡效果

    教程:http://m.blog.csdn.net/blog/yhc13429826359/38778337 写的很好.自己实现的时候,由于img float:left,会脱离文档流,导致结构混乱. ...