ASP.NET.MVC删除数据

开发工具与关键技术:VS   删除
作者:听民谣的老猫
撰写时间:2019/4/20   17:15

数据查询,新增,修改在我撰写的博客中都已经讲到过了,这篇博客将简单的讲述删除;

______ 批量删除

删除可以是单条数据的删除也可以是批量删除数据,在这我讲的是批量删除。你可以通过批量删除的方法去删除单条数据,但是你不能用单条数据的删除方法去批量删除,掌握了批量删除自然而然也明白了单条数据的删除方法;

  1. 监听行单击事件
    首先要对需要删除的数据进行选中
   //监听行单击事件
           layuiTable.on('row(tabEmployee)', function (obj) {
    (Obj代表的是选中行的数据,控制台输出可以得知)
           //标注选中行样式 obj.tr.addClass("layui-table-click").siblings().removeClass("layui-table-cli   ck");
           //选中行,勾选复选框
          obj.tr.find("div.layui-unselect.layui-form-checkbox")[1].click();
                });

2.批量删除(视图层)

//批量删除考生信息
            function delEmployees() {
                //获取选中行数据
                var checkStatus = layuiTable.checkStatus("tabEmployee");
                console.log(checkStatus);
(CheckStatus选中数据的所有值,具体可以通过控制台输出得知)
                    var employeeIDS = "";
                    for (var i = 0; i < checkStatus.data.length; i++) {
(checkStatus.data.length选中数据的总条数,通过遍历的方法为每一条选中数据中的ID值后拼接上”;”将提取出来的ID值进行分割)
                        employeeIDS += checkStatus.data[i].EmployeeID + ";";//拼接字符串  9617;9611;split(;) }
//去掉最后的一个“;”
             //substring() 方法用于提取字符串中介于两个指定下标之间的字符。
//substring(start,stop) 方法返回的子串包括 start 处的字符,但不包括 stop 处的字符。[0,studentIds.length-1)
             employeeIDS = employeeIDS.substring(0, employeeIDS.length - 1);
             $.post("delStuInfos", { EmployeeIDS: employeeIDS }, function (msg) {
                            //刷新表格
                            tabEmployee.reload();
};

_____ 笔记

删除数据就如修改数据一样依靠数据的ID值来选中数据,我这用的是批量删除。所以提取出来的ID值是多条数据的
举例: 单条数据删除提取出来的ID值 9617
批量删除提取出来的数据ID值 96179611
通过字符拼接形成的多条数据的ID值 9617;9611
批量删除提取出来的ID值,提取出来后拼接在了一起,很明显通过这个拼接出来的ID值我们无法删除任何一条数据。但是通过字符拼接形成的多条数据的ID值,可以明显的区分出每条数据对应的ID值就可以进行数据的删除。

3.批量删除(控制器)

 public ActionResult delStuInfos(string EmployeeIDS){
(EmployeeIDS是视图层拼接好的ID字符串  //9617;9611)
                //对拼接好的id进行分割
                string[] employeeIDS = EmployeeIDS.Split(';'); //9617;9611 {"9617","9611",""}
                foreach (string EmployeeID in employeeIDS)
                {
                 //将string类型的数据转化为int
                 int employeeID = Convert.ToInt32(EmployeeID);//9617
                 PW_Employee dbEmployee = (from tbEmployee in myModels.PW_Employee
                 where tbEmployee.EmployeeID == employeeID
                 select tbEmployee).Single();
分割并且转换类型就变成了我们需要的数据ID值,依靠ID将数据库中的数据提取出来,进行Remove(移除);
                myModels.PW_Employee.Remove(dbEmployee);   (删除关键句)  }

_____ 小结

将提取的ID值由原来的 96179611,进行字符串拼接成 9617;9611,再分割成 “9617” “9611”。 批量删除无非就是多了这几步。将ID值拼接成字符串,再将字符串分割成单个的ID值,就演变成了单条数据的删除

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章