开发工具与关键技术:VS C#
作者:梁茵茵
撰写时间:2019年 4月 17日
一、单条数据的删除。
首先,在控制器定义一个删除操作的方法。用int类型来接收数据,根据数据库的主键ID获取要删除具体的某一条数据。
SYS_学院表 dbAcademe = (from tbAcademe in myModel.SYS_学院表
where tbAcademe.外键ID == 主键id
select tbAcademe).Single();
//Single删除某一条数据
这样只是删除myModel.SYS_Academe.Remove(dbAcademe); Model的数据,所以还要判断一下myModel.SaveChanges()它是否大于零。如果大于零则删除成功;否则删除失败。
if (myModel.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "删除成功!";
}
else
{
returnJson.State = false;
returnJson.Text = "删除失败!";
}
其次,在视图调用这个定义好的方法。要获取页面的删除按钮,给这个删除按钮一个onclick点击事件来触发它btns += ‘
$.post("/区域/控制器/定义的方法名称",{传输的数据}, function ( 回调函数 ),关闭提示框layer.close(index);如果删除成功if (returnJson.State == true)就刷新一下tableb表格tabAcademe = layuiTable.reload('tabAcademe')。
二、多条数据的删除。
首先,也在控制器定义一个删除操作的方法。用string类型来接收数据,获取要删除的多条数据也就是获取一个数组
string[] 要删除的表格 = 获取的表格.Split(';');//截取标志';'
foreach (var 集合里的某一条数据in 变例的集合)
关系到对多条数据一起进行删除操作,所以就要获取多个数据表。再用一个Linq查询语句查询出要删除的那一条数据,并保存更改 myModels.SaveChanges();因为是多条数据一起进行删除,所以还要声明两个初始值为0的变量来接收删除成功的条数和删除失败的条数 int intSuceessCount = 0, intFailCount = 0;如果删除成功了多少条就用intSuceessCount++;来记录;否则删除失败了多少条就用intFailCount++;来记录。最后,一共删除了多少条数据,成功删除了多少条数据,失败删除了多少条数据都要提醒一下用户。
returnJson.State = true;
returnJson.Text = "总共删除" + 页面传输过来的ID的总的条数.Length + "条学生信息";
if (intSuceessCount > 0)
{
returnJson.Text += ",成功" + intSuceessCount + "条";
}
if (intFailCount > 0)
{
returnJson.Text += ",失败" + intFailCount + "条";
}
其次,在视图调用这个定义好的方法。获取批量删除的按钮,给这个批量删除按钮一个onclick单击事件。插入一个checkbox用多选框的方式,选择要删除的多条数据。获取checkbox里的选中值var checkStatus = layuiTable.checkStatus(‘表格里的数据’);再判断if (checkStatus.data.length > 0)选择要删除的数据是否为空。
如果不为空就声明一个变量来接收选中值的数组,再拼接成一串字符串strIds += checkStatus.data[i].表格ID+ “;”;//";“截取ID选择要删除多少条数据也要提醒用户layer.confirm(‘您确定要删除选中的’ + checkStatus.data.length + ‘条信息?’, { icon: 3, titile: “提示” }, function (index)当用户点击确定就进行删除操作。如果为空就提醒用户layer.alert(“请选择要删除的数据”, { icon: 0 });
这里用的post异步提交跟删除单条数据不一样,删除单条数据传输的是具体的某个ID;删除多条数据传输的是字符串$.post(”/区域/控制器/定义的方法名称", { 传输的字符串 }, function (回调函数)。因为前面截取ID的时候是用了一个“ ;”这个符号来截取,所以截取出来的字符串后面就拼接多了一个“ ;”这个符号,如果不去除后面的“ ;”这个符号,在“ ;”这个符号后面就会获取一个空白的ID。所以就要去除后面多出来的“ ;”这个符号strIds = strIds.substring(0, strIds.length - 1);//去掉最后的 ; 号。
返回来的if (returnJson.State == true) true就说明删除成功,关闭提示框layer.close(index);再刷新一下table表格tabAcademe = layuiTable.reload(‘tabAcademe’)。
总结:删除操作就是删除数据库里的数据,不管是单条数据的删除还是多条数据的删除都要查询出数据才可以删除。单条数据的删除是查询要获取具体的ID,而多条数据的删除涉及到要删除的数据比较多,所以要用数组的格式来获取数据。