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. String.equals()方法的实现代码,

    通常对String的比较有两种情况,一个是使用==,另一个是使用equals()方法,注意==是对对象的地址进行比较的,而String中的equals()方法是覆盖了Object类的方法,并且实现为对 ...

  2. splunk rest api search

    如下: curl -u admin:changeme -k https://localhost:8089/services/search/jobs -d search="search sou ...

  3. 一些Shell命令

    lsof -nP -itcp:8080 查看本机8080端口在被什么应用占用,可以查看此应用对应的pid. netstat -ant|grep 8081 查看本机8081端口的使用情况. telnet ...

  4. Octopus系列之接下来的任务

    更新默认国家[已实现] 更新每页显示条数的后台控制[已实现] 更新国家和区域的Ajax的关联[已实现] 更新详情页面的 属性选择 脚本提示[已实现 可以做到和兰亭一样的效果了] 增加优惠方案的设置和批 ...

  5. html标签marquee实现走马灯效果(文字浮动)

    marquee标签实现文字或图片的移动效果 <marquee direction = "right">文字<marquee>

  6. iOS https(SSL/TLS)数据捕获

    要捕获iPhone上的appstore的数据还真的没那么容易,以前介绍的那些使用代理手工导入证书的方法已经完全失效了,结果就是安装证书之后再打开appstore也无法正常的建立连接.按照我的分析其实是 ...

  7. fetch VS AJAX

    fetch('https://mywebsite.com/endpoint/', { method: 'POST', headers: { 'Accept': 'application/json', ...

  8. [开发笔记]-获取歌曲ID3信息

    ID3介绍: ID3,一般是位于一个mp3文件的开头或末尾的若干字节内,附加了关于该mp3的歌手,标题,专辑名称,年代,风格等信息,该信息就被称为ID3信息,ID3信息分为两个版本,v1和v2版. 获 ...

  9. hashmap and hashtable

    ①继承不同. public class Hashtable extends Dictionary implements Map public class HashMap extends Abstrac ...

  10. 对于C#中的一些点滴你真的理解了吗?

    废话不多说看题目,看看我们自己真的理解了吗? 1.如下代码输出的结果是什么? public class A{ public virtual void Func(int  number=10) { Co ...