根据ID查找出数据,在创建一个表来接受遍历出来的数据,然后接着回填session,如图
已选房间就是回填的session数据,代码如下
public ActionResult SelectsessionGuesRoomsId(int OrderFormID)
{
List<GuesRooms> sessionGuesRooms = new List<GuesRooms>();//创建新的列表
//获取sessionz中的附件表
//下面就是判断session里面是否有列表了,有就用那个列表,没有就用上面新创建的。
if (Session["sessionGuesRooms"] != null) {
sessionGuesRooms = Session["sessionGuesRooms"] as List<GuesRooms>;//判断有没有值
} //根据订单ID,查找客房
var varlinq = (from tbR in myModel.R_OrderFormDetail
where tbR.OrderFormID == OrderFormID
select tbR).ToList();
foreach (var OrderFormDetail in varlinq)
{
var GuestRoomId = OrderFormDetail.GuestRoomID;
List<GuesRooms> listGuesRooms = (from tbGuesRoom in myEntities.S_GuestRoom
join tbRoomCategory in myEntities.S_RoomCategory on
tbGuesRoom.RoomCategoryID equals tbRoomCategory.RoomCategoryID
where tbGuesRoom.GuestRoomID == GuestRoomId
orderby tbGuesRoom.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 varlinqs = (from tbGuesRoom in sessionGuesRooms
where tbGuesRoom.GuestRoomID == GuestRoomId
select tbGuesRoom).Count();
if (varlinqs == 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);
}
再到视图这边写回填代码
//打开修改模态框,并实现数据回填
function openUpdatess(OrderFormId) {
//重置表单
$('#formInsetDengJis input[type="reset"]').click();
tabGuesRooms = layuiTable.reload("tabGuesRooms", {
url:"/KfFroom/OrderForm/SelectsessionGuesRoomsId",
where: { OrderFormID: data.OrderFormID },
done: function (res, curr, count) {
$("#Fangshul").val(count); //房数
}
});
$("#modalInsetDengJis").modal('show'); //弹出模态框
}