ASP.NET.MVC 如何将数据移出Session

开发工具与关键技术:VS2015  MVC
作者:超级小贱贱
撰写时间:2019年6月04日

继上一篇文献,既然有如何将数据移进Session,那么在需要用到的时候肯定也要移出来,对吧,但是这里有个前提,就是当你把数据移进Session之后,还想准备提取移出时,一定不要刷新页面了,否则那些进了Session的数据会被原路返回,Session里面都空了,还提什么移出,对吧。所以呢,要么就一并操作完成到位,要么就不要添加了又不继续移出这个操作。下面是方法!
老规矩,首先来到控制器,创建好开头public ActionResult RemoveRoom3(LayuiTablePage layuiTablePage【封装的类】, string RoomIDs【传递过来的参数】),然后声明一个新的对象表List listRoomVo = new List();接着用个if判断语句if (!string.IsNullOrEmpty(RoomIDs)),如果传递过来的参数RoomIDs不为空,则对拼接好的id进行分割处理string[] roomids = RoomIDs.Split(’;’);在给个foreach循环,声明一个新的变量foreach (string roomid in roomids),接着将(roomid)转换为等效的32位代符号证书的形式,在等于=intRoomID:int RoomID = Convert.ToInt32(roomid);关键的地方来了,要对之前添加数据那边的Session进行判断,如果if (Session[“ChangeRoom3”] != null)不等于空,则listRoomVo = Session[“ChangeRoom3”] as List;然后在给一个foreach循环,声明一下变量在listRoomVo表里foreach (var listRoomVos in listRoomVo),在给个if判断条件,if (listRoomVos.RoomID == RoomID),则listRoomVo.Remove(listRoomVos);,接下来要注意一下,循环到一定数据的时候,一定要给个终止循环语句,否则它将一直循环下去,根本就没有终止条件的,只能自己手动终止,所以写完Remove语句之后再给个break,终止循环的意思,最后在将Session等于新的对象表就ok了Session[“ChangeRoom3”] = listRoomVo;忘了一点,因为移出的数据也是在表格内,所以也要对它进行分页操作
ASP.NET.MVC 如何将数据移出Session
接着就是视图层。
先给他一个加载&&初始化layui模块表格的加载事件,一定要注意好表格id,这次的表格id是“tabRoom3”
ASP.NET.MVC 如何将数据移出Session
最重要的还是监听单行事件
ASP.NET.MVC 如何将数据移出Session
接下来就是获取到移出按钮的点击事件,在给个加载事件function YQCRoom3(){,首先获取选中行(监听单行事件千万别出错)var checkStatus = layuiTable.checkStatus(“tabRoom3”);,然后在输出它一下console.log(checkStatus); 接着用个if判断一下它的长度if (checkStatus.data.length > 0) {,声明一个空的变量,目的是为了存放选中行的时候获取到的所有id值,再用一个for循环var i = 0; i < checkStatus.data.length; i++) {console.log(checkStatus.data[i].RoomID);,关键的地方又来了,RoomIDs += checkStatus.data[i].RoomID + “;”;//拼接字符串,还记得在控制器那边给的分割字符串的方法吗,在这里最后加个";“是为了方便在控制器那边分割掉,比如说你接收到了3个id,分别是“1,2,3”,而在代码里的显示则是这样的:1;2;3;然后在控制器那边处理掉之后,则是”1” “2” “3”,假如说你不去掉最后一个”;"的话,则出来的结果必定会产生一个空的值给你,所以一定要处理好这些细节,然后在用substring()方法来提取字符串中介于两个指定下标之间的字符RoomIDs = RoomIDs.substring(0, RoomIDs.length - 1);,最后在给个方法级渲染(layui插件功能)【上一篇文献已经介绍过,可自行去layui官网查看渲染方法,只需要注意请求的url别搞错就行】
就完成整个添加移出了。下面是效果图:
ASP.NET.MVC 如何将数据移出Session
首先我将3条数据添加到右边表格,然后在从右边表格将“02”那条数据移出掉了。

上一篇:asp.net core配合vue实现后端验证码逻辑


下一篇:javascript – 虽然用户已登录wordpress,但要求用户登录不能用于重力形式