开发工具与关键技术: VS , MVC ;
作者:刘佳明
撰写时间:2019年 7 月 15 日
本次文章主要内容是记录一下现在正在练习的一个项目中,关于跨页面传输数据的一个知识点
现在我们需要将一个页面单据中的信息部分数据,回填到向外一个页面中的信息from 表单部分,
跨页面传输数据,不同于模态框,layui弹出层,
模态框,layui弹出传输数据的方法直接是封装在一个function 的方法中,在瞒足项目需要的要求之下,触发事件;
跨页面传输数据最大不同角色传输到指定页面中的那个ID 该如何记录到页面中,记录到了ID 之后,又该如何去调用,可以使用session, cookies ViewBag ViewData
public ActionResult Index(int? ReservationID)
{
if (ReservationID != 0 && ReservationID != null)
{
ViewData["ReservationID"] = ReservationID;
}
return View(); }
$("#weixiuDan").click(function () {
var ReservationID = $("#ReservationID").val();
if (ReservationID > 0) {
window.location.href = "/WeixiuOdd/WeixiuOdd/Index?ReservationID=" + ReservationID;
}
else {
layer.alert("必须先审核后才能转维修单!!!", { icon: 6, title: '提示' });
}
}
else {
layer.alert("请填写完整预约维修单!!!", { icon: 6, title: '提示' });
}
});
获取到主键ID之后,去对应数据库的表中查询到数据;
var List = (from tb in myModels.S_Reservation
where ReservationID == tb.ReservationID
select new Reservition
{
ReservationID = tb.ReservationID,//预约ID
MaintainSortID = tb.MaintainSortID,//维修类型ID
VehicleModelID = tb.VehicleModelID,//车型ID
ReceptionID = tb.ReceptionID,//接车ID
ReservationNumber = tb.ReservationNumber,//预约单号,
ljMaintainNumber = tb.ljMaintainNumber,//对应的维修单号,
StrortDateOne = tb.StrortDate.ToString(),//开单日期,
ReservationDateOne = tb.ReservationDate.ToString(),//预约维修日期
ReservationOwner = tb.ReservationOwner,//预约车主
ResLicencePlate = tb.ResLicencePlate,//预约车牌
ResPhoeny = tb.ResPhoeny,//车主电话,
LXManPheny = tb.LXManPheny,//联系人电话,
LXMan = tb.LXMan,//联系人,
ResRemark = tb.ResRemark,//预约备注,
ResAuditTVN = tb.ResAuditTVN,//审核情况
CountMoney = tb.CountMoney,//总计金额
OutRemark = tb.OutRemark,//故障现象描述
}).Single();
在对input 一个一个的赋值即可完成!!!
其中需要注意一点,在我们传输到指定页面的数据,必须要是已经保存到数据库中的数据,才能够使用本方法,只有已经保存数据库中数据,才有主键ID 若是没有保存需要使用JS封装的一个方法才能够跨页面传输数据,比较麻烦,
window.parent.document.getElementById(“GYS2”).value = data.SupplierName;