开发工具与关键技术:VS , ASP.NET.MVC;
作者:吴维杰
撰写时间:2019.05.07
删除:页面部分:
请先看代码图下图(1):
这是单条数据的删除.
删除学生数据,需要根据主键来进行删除,所以在代码图中用到了学生ID,
layer.confim(“……………
这是一个删除的提示,防止用户在体验过程中不小心删除了学生数据,
这个提示是运用到一个插件的.
$.post("delStuInfos", { StudentID: studentId }, function (msg) { }
请求控制器那边删除的方法,因为删除学生信息是根据主键来删除,
所以要把页面的学生ID传到控制器去. (StudentID: studentId).
请先看代码如下:
这是多条数据的删除.
function delStudents() {
获取选中行
var checkStatus = layuiTable.checkStatus('tabStudent'); if (checkStatus.data.length > 0) {
var studentIds = "";
拼接ID值
for (var i = 0; i < checkStatus.data.length; i++) {
studentIds += checkStatus.data[i].studentID + ";";
}
先声明一个变量来接收信息.
想要删除多条数据,肯定先需要获取到想要删除的数据,
这里使用到插件,在数据查询初始化就写上了这个功能,
就相当于一个复选框,可以标注多条选中行,然后使用监听事件,
再到这里引用这个方法,从而获取到选中行信息.
然后作一个判断,判断用户选中的数据length>0,就说明选中了数据,
否则就提醒用户选择需要删除的数据,
再用for循环在选中的数据里作出循环,从而实现多条数据的删除.
控制器部分:
public ActionResult delStuInfos(string StudentID){ }
在括号内需要写一个接收StudentID的参数,它的数据类型是string类型.
先看代码:
string strMsg = "failed";
int countSuccessDel = 0;
int countFailedDel = 0;
声明一个string类型的变量来接收状态,把它设置为failed失败,
然后设置两个int类型的变量,一个记录删除成功的,一个记录失败.
再到转化数据类型
先看代码图如下
转化数据后,就跟据StudentID查询需要删除的学生信息.
然后使用Remove这个方法把数据库中PW_Student数据替换掉.
再获取到删除学生的UserID,然后根据userId查询需要删除的用户角色明细表信息
代码如下:
删除用户角色明细表
PW_UserRoleDetail dbUserRoleDetail = (from tbUserRoleDetail in myModels.PW_StudentRoleDetail
where tbUserRoleDetail.UserID == UserId
select tbUserRoleDetail).Single();
myModels.PW_StudentRoleDetail.Remove(dbUserRoleDetail);
删除用户表
PW_User dbUser = (from tbUser in myModels.PW_User
where tbUser.UserID == UserId
select tbUser).Single();
myModels.PW_User.Remove(dbUser);
保存数据库
myModels.SaveChanges();
countSuccessDel++;
查询出用户角色明细表,然后进行删除.角色的明细,
查询出用户,删除用户信息.
然后使用Remove这个方法把数据库中PW_User数据替换掉.
每一个进行查询后删除的语句都会作出一次判断,都会记录成功与失败的数据,
最后返回到页面(用msg),在删除后作出提示.