MVC之删除
在頁面的數據表格中,既然有新增,那一定也有刪除吧。那MVC是怎么寫刪除的呢,就讓我來講一下吧。
刪除一般有刪除單條數據和刪除多條數據。相對來說,刪除單條數據比刪除多條的簡單,因為單條數據不需要循環、拼接和分割。單條數據的刪除一般都在數據的后面加一個刪除的按鈕,而批量刪除就只有一個按鈕。刪除單條和批量刪除基本都是一樣的,那么我就只講批量刪除了。
首先我們要在表格上選中要刪除的數據,然后才能刪除。所以,我們先用layui插件里的方法獲取選中行的相關數據,然后再判斷是否選中數據,沒有就提示“請選擇要刪除的數據!”。
選中數據后,我們要if的里面聲明一個變量,然后在后面用for循環拼接它們的ID。如下:
var employeeIds = "";for (var i = 0; i < checkStatus.data.length; i++) {employeeIds += checkStatus.data[i].EmployeeID + ";";//拼接字符串,如:1;2;3;}因為每個ID后面都會拼接一個分號,所以最后一個ID也會有一個分號。但是我們分割字符串時是根據它后面的分號分割的,如果最后也有一個分號,那么它就會分割多一個空格出來,我們就要想辦法把最后的一個分號給去掉。在這里我們就要用到substring這個方法,它的用法看下面。
employeeIds = employeeIds.substring(0, employeeIds.length - 1);//去掉分號//substring() 方法用于提取字符串中介于兩個指定下標之間的字符。//substring(start,stop) 方法返回的子串包括 start 處的字符,但不包括 stop 處的字符。[0,studentIds.length-1)去掉最后的分號后,我們就要給它拼接提示“你是否要刪除多少條信息?”,并用post請求控制器,注意:傳過去的ID要一樣。
layer.confirm("您確定要刪除選中的" + checkStatus.data.length + "條員工信息?",{ icon: 3, title: "提示" }, function () {$.post("/Page/delEmployeeIds", { EmployeeIDs: employeeIds }, function (msg) {//刷新表格tabTitles.reload();layer.alert(msg, { icon: 0, title: "提示" });});});視圖那邊我們就寫完了,然后控制器還是老樣子,先接收視圖傳過來的ID,之后再聲明三個變量,變量strMrg是用來提示文本的,其他兩個是用來計算成功或失敗的條數。
然后用if else判斷傳過來的ID是否為null或者為空字符串,是就返回“參數異常!”,不是就進入下面的步驟。
if (!string.IsNullOrEmpty(EmployeeIDs)){}else{strMsg = "參數異常";}在里面我們就要對拼接好的ID進行分割,并放在自己創建的數組里面,然后循環一個個地刪除。再后面來個提示,成功多少條,失敗多少條。
//對拼接好的id進行分割string[] employeeIds = EmployeeIDs.Split(';'); //{"1","2","3"}foreach (string employeeId in employeeIds)//foreach 循環只適用于數組,并用于遍歷數組中的每個鍵/值對{}strMsg = "總共需要刪除" + employeeIds.Length + "條員工信息!其中成功刪除" + countSuccessDel + "條,失敗" + countFailedDel + "條。";在foreach循環里面我們要把ID從string類型轉化成int類型,然后用LINQ查詢出相同ID的員工信息后,就刪除它,由于有Single,所以我們要用try {} catch {}捕捉。刪除的核心代碼是:myModels.PW_Employee.Remove(dbEmployee); 中間寫的是它的表,括號里的是它查出來的變量。
不要忘了保存 myModels.SaveChanges(); 還要用上面的變量記錄下成功和失敗的次數。
最后用return返回提示到頁面。
return Json(strMsg, JsonRequestBehavior.AllowGet);刪除大概的寫法就是這樣的,不過你要考慮一下表與表的關系,比如:你把員工表里的ID刪除了,那它的用戶表不就多了一些垃圾數據嗎,所以我們也要把用戶表的信息也一起刪除掉。
那么我上面就沒寫完啦,所以我們還要在刪除員工表的下面寫刪除用戶表。實際是這樣寫的。
如果它還與什么表有關聯,自己考慮是否要刪除掉它。MVC的刪除大概就是這樣了,如果有什么寫錯的,麻煩你指出來?(﹒?﹒)?
總結
- 上一篇: 个人建购物网站怎么备案(个人建购物网站怎
- 下一篇: MVC之修改