開發工具與關鍵技術: 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;