表格的Session回填
开发工具与关键技术:MVC 专题技术
作者:彭春怡
撰写时间:2019/7/26
各位好,今天我想与大家分享的是Session表格的回填方法。如果你的表是存放在Session表格里面的话,如果你想要回填表格数据,就需要通过Session表格进行回填。其实嘛,Session回填的方法跟写Session显示数据的方法是差不多一样的。重点是获取Session显示方法的数据就可以了。获取到Session显示数据方法的数据,Session表格数据的回填就不是个问题了。好了接下来让我们一起连接我的Session会方法吧。
下面就是Session回填的方法:
public ActionResult SelectsessionRoomPlatformId(int RoomPlatformID)
{
List selectRoomPlatform = new List();
首先是创建一个新列表,这里跟Session显示方法是一样的,都需要创建一个新的列表,用这个列表获取你想要的数据。
if (Session["sessionGuesRooms"] != null)
{
selectRoomPlatform = Session["selectRoomPlatform"] as List<ProjectConsumption>;
}
判断Session中是否有列表的存在,有就用那个列表,没有的话就用上面新建的列表。
var kuhjgku = (from tbR in myModel.S_RoomPlatform
where tbR.RoomPlatformID == RoomPlatformID
select tbR).ToList();
这里是根据预定表的ID,对房台表进行一个的查询。
foreach (var PlatformReserveDetail in kuhjgku)
{
var RoomPlatformId = PlatformReserveDetail.RoomPlatformID;
List<ProjectConsumption> listtbRoomPlatforms = (from tbRoomPlatform in myModel.S_RoomPlatform
where tbRoomPlatform.RoomPlatformID == RoomPlatformId
orderby tbRoomPlatform.RoomPlatformNam
select new ProjectConsumption
{
RoomPlatformID = tbRoomPlatform.RoomPlatformID,
RoomPlatformNumber = tbRoomPlatform.RoomPlatformNumber,
StationState = tbRoomPlatform.StationState
}).ToList();
这里也是一个房台查询查询,然后是房台数据的筛选、赋值。
if (listtbRoomPlatforms.Count > 0)
{
foreach (var listd in listtbRoomPlatforms)
{
ProjectConsumption data = new ProjectConsumption();
data.RoomPlatformID = listd.RoomPlatformID;
data.RoomPlatformNumber = listd.RoomPlatformNumber;
data.StationState = listd.StationState;
实例化一个data,把你需要的表格数据赋值给它。
if (selectRoomPlatform != null)
{
int varlinqs = (from tbRoomPlatform in selectRoomPlatform
where tbRoomPlatform.RoomPlatformID == RoomPlatformId
select tbRoomPlatform).Count();
一个列表的查询分页。
if (varlinqs == 0)
{
selectRoomPlatform.Add(data);
//把行数据放到session里
Session["selectRoomPlatform"] = selectRoomPlatform;
}
进行data的数据提交,再把行的数据放到Session里。
}
else
{
selectRoomPlatform.Add(data);
Session["selectRoomPlatform"] = selectRoomPlatform;
}
}
}
var tbTotalRow = selectRoomPlatform.Count();
List<ProjectConsumption> list = selectRoomPlatform
.OrderByDescending(m => m.RoomPlatformID)
.ToList();
这里是获取总行数,然后给它进行排序。
LayuiTableData<ProjectConsumption> layuiTableData = new LayuiTableData<ProjectConsumption>();
这里是调用分页封装的类ProjectConsumption。
layuiTableData.count = tbTotalRow;
layuiTableData.data = list;
这里大家都重点吧。获取总数的行与置体数据的显示。
return Json(layuiTableData, JsonRequestBehavior.AllowGet);
}
总结:以上就是Session的回填方法了,如需要完全理解,还要认真的去看以及思考。理解了就会写了,我今天的分享已完毕,谢谢。