新增的三种方法
開發(fā)工具與關鍵技術:vs mvc
作者:朱某人
撰寫時間:2019年5月 6日
在絕大多數(shù)的應用或者網(wǎng)頁中肯定少不了的是新增、修改、查詢、刪除。新增的意思都知道,就是增加新的數(shù)據(jù),大家都知道代碼有很多的表達方式,在不同的編程語言中又有不同的寫法,但是原理都差不了多少,這些又是最基礎的需要時常用到的。
在這里就說說新增。用到的工具是vs,是mvc框架,那么mvc分三個意思,m就是模型,數(shù)據(jù)庫的模型,v就是視圖,寫html的代碼,js之類的,c就是控制器,方法就是寫在控制器里的,所以是把新增的方法寫在控制器里,在視圖上調(diào)用。
首先要做的是把新增的方法寫出來,三個方法就一個個寫出來,第一個是關于form表單的,是FormCollection的接收方法,用到的關鍵字就是FormCollection。代碼:
public ActionResult InsertAcademe(FormCollection form)
{
ReturnJson msg = new ReturnJson();
var AcademeName = form[“AcademeName”];
var AcademeCode = form[“AcademeCode”];
if (!string.IsNullOrEmpty(AcademeName) && !string.IsNullOrEmpty(AcademeCode))
{
SYS_Academe mod = new SYS_Academe();
mod.AcademeName = AcademeName;
mod.AcademeCode = AcademeCode;
這個呢就是用到FormCollection,在試圖form表單代碼中把提交方式改成了get提交,所以用到這個方法。那兩個變量的意思是把頁面上的內(nèi)容獲取到,下面一步是判斷操作,里面的是實例化這個對象,然后賦值,新增就那么一句代碼,
myModel.SYS_Academe.Add(mod);就是這句,下面的一句代碼是保存到數(shù)據(jù)庫的意思。下面的就是一些判斷語句了,if else這樣的判斷語句。
這是第一個新增的方法,我叫FormCollection的接收方法。然后第二個方法它不需要參數(shù)了,就是直接關鍵字接收數(shù)據(jù)的。這個關鍵字是request。
public ActionResult InsertAcademe1()
{
ReturnJson msg = new ReturnJson();
var AcademeName = Request.Form[“AcademeName”];
var AcademeCode = Request.Form[“AcademeCode”];
if (!string.IsNullOrEmpty(AcademeName) && !string.IsNullOrEmpty(AcademeCode))
{
SYS_Academe mod = new SYS_Academe();
mod.AcademeName = AcademeName;
mod.AcademeCode = AcademeCode;
這個方法跟第一個有很大的不同,但是都是接收數(shù)據(jù)然后新增。不同在于哪里呢?在request方法中不需要參數(shù)了,它是把關鍵字用在接收數(shù)據(jù)的變量哪里,其它的都是相同,包括新增和保存到數(shù)據(jù)庫的代碼都一樣。都是比較好理解,但是呢,用到多點的是模型實體接收數(shù)據(jù),就是要講的第三種方法,也是常用的一種了。
public ActionResult InsertAcademe2(SYS_Academe mod)
{
ReturnJson msg = new ReturnJson();
if (!string.IsNullOrEmpty(mod.AcademeName) && !string.IsNullOrEmpty(mod.AcademeCode))
{
myModel.SYS_Academe.Add(mod);
myModel.SaveChanges();
msg.State = true;
msg.Text = “新增成功!”;
}
else
{
msg.State = false;
msg.Text = “數(shù)據(jù)不完整”;
}
return Json(msg, JsonRequestBehavior.AllowGet);
}
第一個感覺就是代碼量少了幾句,然后不同的是建了一個實體類來接收數(shù)據(jù),但是建的實體類里肯定是有相對應的字段,而且在視圖的form表單里的input標簽還要保持name值的一樣性,就是id的名稱一樣,其它字段的名稱也得一樣。但這種方法簡潔不少,所以用模型實體接收用的比較多。
function savaInsert()
{
var AcademeName = $("#IAcademeName").val();
var AcademeCode = $("#IAcademeCode").val();
if (AcademeName != “” && AcademeCode != “”) {
$.post("/CollegeInfor/InsertAcademe",
{ AcademeName: AcademeName, AcademeCode: AcademeCode },
function (data) {if (data.State == true) {
TabAcademe.reload();
layer.alert(data.Text, { icon: 3, offset: ‘100px’ })
} else {layer.alert(data.Text, { icon: 3, offset: ‘100px’ }}
$("#modalInsertAcademe").modal(‘hide’)}); } else {
layer.alert(“數(shù)據(jù)不完整,請檢查數(shù)據(jù)”); }}
這個是視圖那邊的代碼,這就是說了新增的三種方法了。
總結
- 上一篇: wdnas群晖nas_WD 西部数据 伪
- 下一篇: 共享网约车Uber的前世今生