您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“MVC如何實(shí)現(xiàn)增、刪、改、查”,內(nèi)容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“MVC如何實(shí)現(xiàn)增、刪、改、查”這篇文章吧。
首先創(chuàng)建一個(gè)MVC2的一個(gè)應(yīng)用程序,里面已經(jīng)給我們創(chuàng)建了控制器文件夾Controller、模板Models、Views視圖
1.我們?cè)诳刂破骼锩鎰?chuàng)建步驟看面的圖吧
在這里要改名,后面的Controller別改啦 這上微軟的約定
把鼠標(biāo)放到這個(gè)Index上右擊,點(diǎn)擊這個(gè)添加視圖
把這個(gè)名字最好改與你的控制器名字一樣,選擇這個(gè)創(chuàng)建強(qiáng)類型視圖,在視圖數(shù)據(jù)類里面選擇你要的數(shù)據(jù)庫(kù),把視圖內(nèi)容選擇為L(zhǎng)ist,因?yàn)槭且故緝?nèi)容嘛。
2.我們要把這個(gè)用戶的信息在頁(yè)面上全部展示出來(lái)
我們把這個(gè)Models里面的實(shí)體對(duì)象上下文給取到
3.把這個(gè)用戶的信息給展示出來(lái)
public ActionResult Index() { //把數(shù)據(jù)給全部顯示出來(lái) 當(dāng)然這里還是要分頁(yè)的哈 EFFristModelEntities ef = new EFFristModelEntities();//取到上下文 return View(ef.UserInfo);//這個(gè)方法有多個(gè)重載 }
下面就是我們要展示出來(lái)的用戶信息
4.我們來(lái)把取到用戶的一條數(shù)據(jù)進(jìn)行展示吧,增刪改查都這樣創(chuàng)建視圖就可以了
5.首先取出一條用戶信息顯示出來(lái) 刪除 編輯 顯示出所有的 在刪除與編輯用戶信息,都要先展示出來(lái)當(dāng)前所點(diǎn)擊的用戶信息。是根據(jù)用戶Id找到的
public ActionResult Index() //這里是顯示所有的用戶信息
{
//把數(shù)據(jù)給全部顯示出來(lái) 當(dāng)然這里還是要分頁(yè)的哈
EFFristModelEntities ef = new EFFristModelEntities();//取到上下文
return View(ef.UserInfo);//這個(gè)方法有多個(gè)重載
}
//
// GET: /Student/Details/5
/// <summary>
/// 數(shù)據(jù)頁(yè)面展示 是根據(jù)這個(gè)ID來(lái)展示某一條數(shù)據(jù)
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Details(int id)
{
//取到上下文
EFFristModelEntities ef = new EFFristModelEntities();
//用這個(gè)上下文來(lái)取到這個(gè)用戶的信息 用Where
//Where<UserInfo>(uId => uId.ID == id):是一個(gè)集合 FirstOrDefault<UserInfo>():一條數(shù)據(jù)
var userInfo= ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>();
ViewData.Model = userInfo;//用這個(gè)ViewData取到這個(gè)實(shí)體,再把取到的實(shí)體對(duì)象userInfo給ViewData 因?yàn)檫@個(gè)是一個(gè)強(qiáng)類型頁(yè)面 直接用Model用取到 前臺(tái)Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApp.Models.UserInfo>>"
return View();
}
//
// GET: /Student/Create
/// <summary>
/// 添加用戶信息
/// </summary>
/// <returns></returns>
添加用戶就是在注冊(cè)里面,方法一樣
//
// GET: /Student/Edit/5
/// <summary>
/// 編輯用戶的信息根據(jù)id來(lái)編輯用戶的信息
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Edit(int id)
{
//取到上下文
EFFristModelEntities ef = new EFFristModelEntities();
var user = ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>();
ViewData.Model = user;
return View();
}
//
// POST: /Student/Edit/5
/// <summary>
/// 編輯用戶的信息根據(jù)id來(lái)編輯用戶的信息
/// </summary>
/// <param name="id"></param>
/// <param name="collection"></param>
/// <returns></returns>
[HttpPost]
public ActionResult Edit(int id, UserInfo user)
{
try
{
EFFristModelEntities ef = new EFFristModelEntities();
ef.UserInfo.Attach(user);//把這個(gè)用戶給追加到這個(gè)上下文中來(lái)
ef.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);//把這個(gè)用戶的信息給狀態(tài)改變了
ef.SaveChanges();
return RedirectToAction("Index");
}
catch
{
return View();
}
}
//
// GET: /Student/Delete/5
/// <summary>
/// 刪除數(shù)據(jù)根據(jù)id
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public ActionResult Delete(int id)
{
EFFristModelEntities ef = new EFFristModelEntities();
var userInfo=ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>();
ViewData.Model = userInfo;
return View();
}
//
// POST: /Student/Delete/5
/// <summary>
/// 這個(gè)刪除是post提交的,前面都要添加一個(gè)屬性標(biāo)簽[HttpPost]
/// </summary>
/// <param name="id"></param>
/// <param name="collection"></param>
/// <returns></returns>
[HttpPost]
public ActionResult Delete(int id, FormCollection collection)
{
try
{
EFFristModelEntities ef = new EFFristModelEntities();//找到上下文
//找到Id
var user=ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>();
//判斷這個(gè)用戶是否為null
if (user != null)
{
ef.UserInfo.DeleteObject(user);//用這個(gè)上下文來(lái)取到這個(gè)用戶id,刪除
ef.SaveChanges();
return RedirectToAction("Index");//刪除成功就轉(zhuǎn)向到這個(gè)顯示數(shù)據(jù) 的頁(yè)面
}
return Content("無(wú)數(shù)據(jù)");
}
catch
{
return View();
}
}
以上是“MVC如何實(shí)現(xiàn)增、刪、改、查”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。