在MVC中使用最多的就是增刪查改增,就是增加,點擊按鈕實作一個添加的效果,
1,在視圖頁面給增加按鈕一個ID,通過ID去獲取按鈕的點擊事件(添加旅客)
$("#btnAddPassenger").click(function(){})
2, 獲取添加的旅客資訊
var passengerInfors = [];
for (var i = 1; i <= passengerNo; i++) {
var passenger = {};
$.each($("#formPassenger"+i).serializeArray(),function(index,item){
passenger[item.name]=item.value; });
passengerInfors.push(passenger); }
3,驗證旅客資訊,
//判斷名字是否填寫
if (passengerInfors[i].passengerName==undefined || passengerInfors[i].passengerName=="") {
myAlert("請填寫第【"+(i+1)+"】個旅客的姓名!");
return;}
4,發送請求
var layerIdex = layer.load();
$.post("addPNRPassenger",
{PNRID:pnrID, passengerInfors:passengerInfors},function(jsonData){
layer.close(layerIdex);
myAlert(jsonData.Text);
if (jsonData.State) {
window.location.href="https://bbs.csdn.net/topics/pnrInfoShow?PNRID="+pnrID; }
})
5,在控制器中進行新增旅客資訊,開啟事務,保存到資料庫,提交事務,回傳資料
List<B_PNRPassenger> listPassengers = new List<B_PNRPassenger>();
//保存到資料庫
myModel.B_PNRPassenger.AddRange(listPassengers);
myModel.SaveChanges();
//提交事務
scope.Complete();
//回傳資料
rtMsg.State = true;
rtMsg.Text = "添加旅客成功!";
刪,就是洗掉,點擊洗掉按鈕實作一個洗掉的效果,
1, 獲取洗掉按鈕的點擊事件
$("#btnDelete").click(function(){})
2, 獲取勾選的旅客資訊
var passengerIds = [];
cAdultNum=0;
$("input[name='passenger']:checked").each(function(){
passengerIds.push($(this).data("passenger-id"));
if ($(this).data("passenger-type-id")==1) {
cAdultNum++;}
});
3, 提交請求
layer.confirm("確定要洗掉選中的旅客嗎?(該操作不能撤回)",{icon:3,title:'提示'},function(index){
layer.close(index);
//開啟加載層
var layIndex = layer.load();
$.post("deletePassenger",
{PNRID:pnrID, passengerIds:passengerIds},function(jsonData){
layer.close(layIndex);
myAlert(jsonData.Text);
if (jsonData.State) {
window.location.href="https://bbs.csdn.net/topics/pnrInfoShow?PNRID="+pnrID; }
});
});
4, 查詢出需要洗掉的旅客資訊,
List<B_PNRPassenger> passengerInfor = (
from tbPassenger in myModel.B_PNRPassenger
where passengerIds.Contains(tbPassenger.PNRPassengerID)
select tbPassenger).ToList();
5, 洗掉旅客資訊
myModel.B_PNRPassenger.RemoveRange(passengerInfor);
myModel.SaveChanges();
6, 保存修改,提交事務,回傳資料
myModel.Entry(dbPassengers[i]).State =System.Data.Entity.EntityState.Modified;
myModel.SaveChanges();
7, 提交事務
scope.Complete();
8, 回傳資料
rtMsg.State = true;
rtMsg.Text = "旅客資訊洗掉成功!";
查,就是查找,點擊查詢按鈕實作一個查找的效果,
1、在視圖獲取查詢按鈕的點擊事件
$("#btnSearchPNR").click(function () {
//獲取查詢條件
var pnrNo = $("#searchPNR").val();
//表格資料多載
tabPNR.reload({
where: {PNRNo: pnrNo},
page: {curr: 1 }
});
});
2、到控制器聯表查詢出需要的資料,進行資料篩選
if (!string.IsNullOrEmpty(PNRNo))
{tempPNRInfor = tempPNRInfor.Where(p => p.PNRNo == PNRNo); }
3、構建回傳資料
LayuiTableData<PNRVo> layuiTableData = new LayuiTableData<PNRVo>
{count = count, data = listPNR};
改,就是修改,點擊修改按鈕實作一個查找的效果,
1、判斷資料庫旅客姓名與頁面專遞過來的旅客姓名是否一致,旅客ID相等的前提下
if (dbPassenger.PNRPassengerID == passengerInfor.PNRPassengerID &&
dbPassenger.passengerName != passengerInfor.passengerName)
{
2、判斷頁面旅客的姓名是否為空
if (!string.IsNullOrEmpty(passengerInfor.passengerName))
3、修改旅客表資料
dbPassenger.passengerName = passengerInfor.passengerName;
4、保存修改
myModel.Entry(dbPassenger).State = System.Data.Entity.EntityState.Modified;
myModel.SaveChanges();
5、提交事務
scope.Complete();
6、回傳資料
rtMsg.State = true;
rtMsg.Text = "旅客姓名修改成功!";
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/16187.html
標籤:非技術區
上一篇:急急急
下一篇:檔案的匯入
