UI层

 <a href="#" onclick="DelData(0);return false;" id="a_del" class="easyui-linkbutton" iconcls="icon-cancel">删除</a>   

UI中js:

  //删除按钮事件
function DelData(id) {
$.messager.confirm('提示', '确认删除?', function (r) {
if (r) {
var selected = "";
if (id <= ) {
$($('#tab_list').datagrid('getSelections')).each(function () {
selected += this.ID + ",";
});
selected = selected.substr(, selected.length - );
if (selected == "") {
$.messager.alert('提示', '请选择要删除的数据!', 'info');
return;
}
}
else {
selected = id;
}
$.post('/DataGrid/GetJson', { "action": "del", "cbx_select": selected }, function (data) {
$.messager.alert('提示', data, 'info', function () { $("#tab_list").datagrid("reload"); });
});
}
});
}

MVC中控制器:

1.action:

  [HttpPost]
public ActionResult GetJson()
{
UserManagerServiceClient client = new UserManagerServiceClient(); string action = string.Empty;
if (Request.Form["action"] != "")
{
action = Request.Form["action"].ToString();
}
switch (action)
{
case "query": //第一次进入页面时查询数据
string JsonString = QueryEmployee(client);
return Content(JsonString.ToString());
case "submit":
string UpdateMsg = UpdateEmployInfo(client);
return Content(UpdateMsg);
case "queryone":
string JsonOneEmployee = QueryOneEmployee(client);
return Content(JsonOneEmployee);
case "del" :
string DelMsg = DelEmployees(client);
return Content(DelMsg);
default:
return Content("");
}

2.DelEmployees()方法:

  /// <summary>
/// 删除员工信息
/// </summary>
/// <param name="client"></param>
/// <returns></returns>
private string DelEmployees(UserManagerServiceClient client)
{
string msg = "删除失败!";
string selectedID = Request.Form["cbx_select"] != "" ? Request.Form["cbx_select"] : "";
if (selectedID != "" && selectedID !="")
{
int delCount = client.DelEmployee(selectedID); // 从服务端返回的删除员工信息的个数
if (delCount > )
{
msg = string.Format("本次共删除了{0}条员工信息!", delCount);
}
} return msg;
}

WCF服务端代码:EF中contains就 好似sql中的in

 /// <summary>
/// 删除员工信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public int DelEmployee(string id)
{
int msg = ;
try
{
List<string> strID = id.Split(',').ToList();
List<int> arrayID = strID.ConvertAll(e => int.Parse(e));
using (UserManageDB db = new UserManageDB())
{ using (TransactionScope transaction =new TransactionScope() )
{
foreach (var employee in db.EmployeInfo.Where(e => arrayID.Contains(e.ID)))
{
db.EmployeInfo.Remove(employee);
msg++;
}
db.SaveChanges();
transaction.Complete();
} } return msg;
}
catch (Exception ex)
{
throw ex;
}
}

Entityframework批量删除的更多相关文章

  1. EntityFramework:支持同一事务提交的批量删除数据实现思路

    一切从一段代码说起... 下面一段代码是最近我在对一EF项目进行重构时发现的. protected override void DoRemove(T entity) { this.dbContext. ...

  2. php批量删除

    php批量删除可以实现多条或者全部数据一起删除 新建php文件 显示数据库中内容: <table width="100%" border="1" cell ...

  3. confirm对话框取消后阻止ajax操作、ajax做批量删除

    在做批量删除的时候,需要用confirm弹出一个提示框让用户确认是否删除,点击确定,执行操作,点击取消,取消操作.但是如果使用ajax把选中项的主键值传到处理页面处理时,如果使用下面的方法将confi ...

  4. mybatis批量删除提示类型错误

    一. 这里主要考虑两种参数类型:数组或者集合. 而这点区别主要体现在EmpMapper.xml文件中标签的collection属性: 当collection="array"时,表名 ...

  5. php链接数据库 批量删除 和 注册审核

    理解 :  hiden   value    session   name="a[]"         1.  form  表单上传的 value=" "值   ...

  6. StackExchange.Redis加载Lua脚本进行模糊查询的批量删除和修改

    前言 使用StackExchange.Redis没有直接相关的方法进行模糊查询的批量删除和修改操作,虽然可以通过Scan相关的方法进行模糊查询,例如:HashScan("hashkey&qu ...

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

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

  8. MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除

    回到目录 说它是批量操作,就是说将集合对象一次提交到服务器,并对数据进行持久化,如果您的代码是一次一次的提交,那不算是批量操作!在之前的mongodb仓储中并没有对批量更新和批量删除进行实现,而今天在 ...

  9. jdbc-批量插入、批量删除、批量更新

    一.JDBC的批量插入 JDBC批量插入主要用于数据导入和日志记录因为日志一般都是先写在文件下的等.    我用Mysql5.1.5的JDBC driver 分别对三种比较常用的方法做了测试   方法 ...

随机推荐

  1. 关于html中table表格tr,td的高度和宽度

    关于html中table表格tr,td的高度和宽度 关于html中table表格tr,td的高度和宽度 做网页的时候经常会遇到各种各样的问题,经常遇到的一个就是会碰到表格宽度对不齐的问题.首先,来分析 ...

  2. hive分区导致FAILED: Hive Internal Error: java.lang.NullPointerException(null)

    写了一条hive sql ,其中条件中存在 dt>=20150101 and dt<=20150228 这样的条件,原来执行没问题,今天就抛出 FAILED: Hive Internal ...

  3. 再谈HTML

    关于WEB 采用B/S计算模式开发的应用程序我们一般称为Web应用程序. WEB三大层面: 网页的结构部分:结构的定义使用HTML语言(超文本标记语言Hyper Text Mark Up Langua ...

  4. BZOJ3058 四叶草魔杖

    Poetize11的T3 蒟蒻非常欢脱的写完了费用流,发现...边的cost竟然只算一次!!! 然后就跪了... Orz题解:"类型:Floyd传递闭包+最小生成树+状态压缩动态规划首先Fl ...

  5. [整理]Svn常见问题汇总。

    1.’.’ is not a working copy.Can’t open file‘.svn/entries’: 系统找不到指定的路径. 解答:原因是输入的访问路径不正确,如svn://192.1 ...

  6. Eclipse如何设置代码提示功能

    Windows→Preference→XML→XML Files→Editor→Content Assist→Auto Activation→Prompt when these characters ...

  7. linux service等命令不能使用的解决办法

    主要是路径没添加进来: 在shell里面输入这条命令:export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin ...

  8. Ubuntu 查看/修改文件编码

    使用enca工具可以查看和修改文件编码 1.安装 sudo apt-get install enca 2.使用 查看文件编码 enca –L zh_CN file_name 修改文件编码 enca – ...

  9. cstring 的重载

    #include <iostream> #include <windows.h> using namespace std; +; class MyString { public ...

  10. HDU 4035 Maze 概率dp,树形dp 难度:2

    http://acm.hdu.edu.cn/showproblem.php?pid=4035 求步数期望,设E[i]为在编号为i的节点时还需要走的步数,father为dfs树中该节点的父节点,son为 ...