把数据添加到Session表

首先查询出主表的数据,再用session创建一个附表,要判断session里面是否有表了,没有就创建新的实例化的表,再把想要的数据从主表添加到附表,如图
在这里插入图片描述
从主表选中需要的数据添加到附表
在这里插入图片描述
实现功能代码如下,在控制器这边用session创建附表

//添加房间,房间附表
public ActionResult SelectSessionGuesRooms(string GuesRoomID)    
{  List<GuesRooms> sessionGuesRooms = new List<GuesRooms>();//创建新的列表              
//获取sessionz中的附件表
//下面就是判断session里面是否有列表了,有就用那个列表,没有就用上面新创建的。
        if (Session["sessionGuesRooms"] != null)
        { 
       //判断有没有值
       sessionGuesRooms = Session["sessionGuesRooms"] as List<GuesRooms>; 
        }
         if (!string.IsNullOrEmpty(GuesRoomID))     
          { 
            string[] GuesRoomIDs = GuesRoomID.Split(';'); //分割id     
            foreach(string GuesRoomId in GuesRoomIDs)//遍历循环每一条数据
            {
             int GuesRoomIds = Convert.ToInt32(GuesRoomId); 
              List<GuesRooms> listGuesRooms =(from tbGuesRoom in myEntities.S_GuestRoom
                                              join tbRoomCategory in myEntities.S_RoomCategory on tbGuesRoom.RoomCategoryID equals tbRoomCategory.RoomCategoryID
                                              where tbGuesRoom.GuestRoomID == GuesRoomIds
                    orderbytbGuesRoom.RoomNumber//排序
                    select new GuesRooms
                    {       
                       GuestRoomID=tbGuesRoom.GuestRoomID,
                       RoomCategoryID=tbRoomCategory.RoomCategoryID,
                       RoomNumber=tbGuesRoom.RoomNumber,
                       Abbreviation=tbRoomCategory.Abbreviation,
                       DisperseGuestPrice= tbRoomCategory.DisperseGuestPrice,
                       Status=tbGuesRoom.Status
                     }).ToList();
                if (listGuesRooms.Count > 0)
                {
                    foreach (var listd in listGuesRooms) //遍历循环每一条数据
                    {
                        GuesRooms data = new GuesRooms();
                        data.GuestRoomID = listd.GuestRoomID;
                        data.RoomNumber = listd.RoomNumber;
                        data.Abbreviation = listd.Abbreviation;                 
                        data.DisperseGuestPrice = listd.DisperseGuestPrice;
                        data.Status = listd.Status;
                        if (sessionGuesRooms != null)//列表不为空
                        {    //sesssion 进行分页 最大索引值
                        int varlinq = (from tbGuesRoom in sessionGuesRooms
                                       where tbGuesRoom.GuestRoomID == GuesRoomIds
                                       select tbGuesRoom).Count();
                        if(varlinq == 0)
                          { sessionGuesRooms.Add(data);
                            //把行数据放到session里   
                         Session["sessionGuesRooms"] =
                         sessionGuesRooms; 
                            }                       
                   } else                    
                  {  sessionGuesRooms.Add(data);                              
                     Session["sessionGuesRooms"] = sessionGuesRooms;
                   }
                 }
              }  
            }
        }
        var intTotalRow = sessionGuesRooms.Count();//获取总行数
        List<GuesRooms> list = sessionGuesRooms 
        .OrderByDescending(m => m.GuestRoomID)                                      
        .ToList();
        //调用分页封装类
        LayuiTableData<GuesRooms> layuiTableData = new LayuiTableData<GuesRooms>();
        layuiTableData.count = intTotalRow;//行总数
        layuiTableData.data = list;//具体显示数据
        return Json(layuiTableData, JsonRequestBehavior.AllowGet);       
  }

再到视图进行以下代码,就这样把想要的数据保存到sesssion里面了。

//2.2 添加点击事件       
$("#TianJia").click(function () {
        //获取选中行
        var checkStatus = layuiTable.checkStatus('tabgestRoom');
        //判断是否选中数据
        if (checkStatus.data.length > 0) {
            var GuestRoomIDs = "";
            for (var i = 0; i < checkStatus.data.length; i++) { //循环
                //拼接ID
                GuestRoomIDs += checkStatus.data[i].GuestRoomID + ';';
            }
            GuestRoomIDs = GuestRoomIDs.substring(0, GuestRoomIDs.length - 1);
            tabGuesRooms.reload({
                url: '/KfFroom/OrderForm/SelectSessionGuesRooms', //数据接口
                where: { GuesRoomID: GuestRoomIDs }, //设定异步数据接口的额外参数       
     } 
       else {
              layer.alert("请选选择需要添加的房间", { icon: 0, title: "提示", skin: "layui-layer-molv" });          
    }

});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值