MVC之修改
ASP.NET MCV的增刪查改在我前面的講解中,我已經(jīng)把前三個(gè)都說(shuō)了一下,現(xiàn)在就只剩下修改沒(méi)講了。所以,我今天就給你們講一下,MVC的修改到底是怎么寫的。
修改的這個(gè)按鈕呢,我一般都習(xí)慣把它放到每一條數(shù)據(jù)的后面。
圖中的電話是我亂寫的,所以打了也沒(méi)用。在寫之前,我們要引用一下layui這個(gè)插件,然后在表頭的那里加上操作列,并在表頭方法的外面設(shè)置操作按鈕的方法。
這樣就可以獲取到我們要修改數(shù)據(jù)的id了。然后我們要彈出修改的模態(tài)框,你想一下,在打開(kāi)模態(tài)框之前我們是不是要回填表單,要不然的話用戶一點(diǎn)擊,打開(kāi)的模態(tài)框是空白的,什么數(shù)據(jù)都沒(méi)有,這樣就不好了,所以我們要回填表單,讓它打開(kāi)之前就自己回填數(shù)據(jù),我們只要修改想要修改的數(shù)據(jù)就行了。
寫一個(gè)方法給修改的按鈕,在括號(hào)里接收它的id,然后和平常一樣重置一下表單
接下來(lái)就不一樣了。因?yàn)槲覀円靥畋韱蔚臄?shù)據(jù),所以我們要查詢出員工的信息才能回填數(shù)據(jù)。在這里我們使用jQuery的post請(qǐng)求,然后把id(左邊的是形參,右邊的是實(shí)參 形參是沒(méi)數(shù)據(jù)的要傳到控制器的,實(shí)參是有數(shù)據(jù)的)傳過(guò)去。
再到控制器那寫查詢員工信息的方法,我們只要用linq查詢出相同ID的所有信息就行了。
查出數(shù)據(jù)后如果有下拉框的,先綁定和數(shù)據(jù)回填下拉框,然后再到其他的數(shù)據(jù)的回填,post請(qǐng)求數(shù)據(jù)回填完了之后就可以彈出模態(tài)框了。
彈出修改的模態(tài)框就OK了,接下來(lái)就讓我們寫下保存修改吧。
保存修改和保存新增差不多,先獲取表單的值,然后判斷數(shù)據(jù)的完整性,最后用post請(qǐng)求控制器(注意:傳過(guò)去的還要有員工ID,因?yàn)榫褪歉鶕?jù)它來(lái)查出數(shù)據(jù)的,所以它一定要有),成功就刷新表單并關(guān)閉模態(tài)框,還有彈出提示信息,你們把保存新增的代碼復(fù)制下來(lái)改一下就行了,我就不多說(shuō)了。好了,我們?nèi)タ刂破髂沁厡懸幌卤4嫘薷牡姆椒ò伞?br /> 首先我們用一個(gè)參數(shù)繼承那張員工表,然后實(shí)例化一個(gè)對(duì)象,用來(lái)接收參數(shù)。
然后用linq查出整個(gè)表除了自己外是否有相同的信息,有就返回“已經(jīng) 存在相同的信息”,沒(méi)有就根據(jù)員工ID用linq查出它的所有要改的信息,而且還要和從頁(yè)面獲取到的數(shù)據(jù)相等,然后修改。修改的核心代碼是:myModels.Entry(listEmployeeId).State = EntityState.Modified; 括號(hào)里面的是linq查出來(lái)的數(shù)據(jù)。
由于有single所以我們要用try{ } catch(Exception){ }捕捉異常。最后,我們要判斷是否修改成功,成功就返回“修改成功”,失敗就返回“修改失敗”。
哦,還有return Json 返回?cái)?shù)據(jù)到頁(yè)面。
return Json(returnJson, JsonRequestBehavior.AllowGet);
修改大概就是這個(gè)樣子了,因?yàn)槲乙彩莿倢W(xué)的,所以有什么說(shuō)錯(cuò)了,請(qǐng)你們指出來(lái)啊。
總結(jié)
- 上一篇: csgo ddos攻击(csgo个人dd
- 下一篇: MVC如何添加Model