Session语句
开发工具与关键技术:MVC 专题技术
作者:彭春怡
撰写时间:2019/7/17
上一篇文献是要通过控制器的Session语句来完成的,现在呢,我是把它的Session语句给大家解释一下。上一篇文献的添加成功并保存是通过Session的语句查询与判断,才可完成的。接下来让我们认识一下Session语句:
public ActionResult InserPlatformReserve(R_PlatformReserveDetail PlatformReserveDetail, B_PlatformReserve PlatformReserve)
{
ReturnJson returnJson = new ReturnJson();
List sessionReservation = new List();
首先是一个方法,给你需要查询的表分别添加一个参数。声明returnJson,这个大家应该清楚的。然后声明应该sessionReservation局部变量,获取List中的数据。
下面呢是对Session中的数据进行提取:
if (Session[“sessionReservation”] != null)
{
sessionReservation = Session[“sessionReservation”] as List;
}
这里是判断sessionReservation获取的数据是否有值。
try
{
myModel.B_PlatformReserve.Add(PlatformReserve);
myModel.SaveChanges();
var PlatformReserveIds = PlatformReserve.PlatformReserveID;
这里涉及进行一个表的数据提交。
foreach (var list in sessionReservation)
{
PlatformReserveDetail.RoomPlatformID = list.RoomPlatformID;
PlatformReserveDetail.PlatformReserveID = PlatformReserveIds;
myModel.R_PlatformReserveDetail.Add(PlatformReserveDetail);
S_RoomPlatform selectRoomPlatform = myModel.S_RoomPlatform.Where(L => L.RoomPlatformID == list.RoomPlatformID).Select(L => L).Single();
selectRoomPlatform.StationState = "预定台";
selectRoomPlatform.ReserveNo = true;
myModel.Entry(selectRoomPlatform).State = System.Data.Entity.EntityState.Modified;
这里用一个foreach循环。我这里呢是一个房间可以做多次预定所以,用foreach循环。sessionReservation提取的数据,List是用来获取PlatformReserveDetail中的外键Id,还有PlatformReserveIds里的数据,保存在R_PlatformReserveDetail,进行提交。
保存成功房台状态返为预定状态。ReserveNo否否为true,已经预定了。“myModel.Entry(selectRoomPlatform).State = System.Data.Entity.EntityState.Modified;” selectRoomPlatform的数据进行新增。
下面就是判断了,这个就不用解释了。
if (myModel.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = “登记成功”;
}
else
{
returnJson.State = false;
returnJson.Text = “登记失败”;
}
Session.Remove(“sessionReservation”);
}
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}
总结:这就是上一篇文中的,Session语句。谢谢。