MVC_增、刪、改、查,過程詳解

首先建立一個MVC2的一個應用程序,裏面已經給咱們建立了控制器文件夾Controller、模板Models、Views視圖數據庫

1.咱們在控制器裏面建立步驟看面的圖吧ide

在這裏要更名,後面的Controller別改啦 這上微軟的約定post

 

把鼠標放到這個Index上右擊,點擊這個添加視圖spa

把這個名字最好改與你的控制器名字同樣,選擇這個建立強類型視圖,在視圖數據類裏面選擇你要的數據庫,把視圖內容選擇爲List,由於是要展現內容嘛。orm

2.咱們要把這個用戶的信息在頁面上所有展現出來對象

咱們把這個Models裏面的實體對象上下文給取到blog

3.把這個用戶的信息給展現出來get

 

  
  
  
  
  1. public ActionResult Index() 
  2.        { 
  3.            //把數據給所有顯示出來  固然這裏仍是要分頁的哈 
  4.            EFFristModelEntities ef = new EFFristModelEntities();//取到上下文 
  5.            return View(ef.UserInfo);//這個方法有多個重載 
  6.        } 

下面就是咱們要展現出來的用戶信息string

4.咱們來把取到用戶的一條數據進行展現吧,增刪改查都這樣建立視圖就能夠了it

5.首先取出一條用戶信息顯示出來 刪除  編輯  顯示出全部的  在刪除與編輯用戶信息,都要先展現出來當前所點擊的用戶信息。是根據用戶Id找到的

  
  
  
  
  1. public ActionResult Index() //這裏是顯示全部的用戶信息
  2.        { 
  3.            //把數據給所有顯示出來  固然這裏仍是要分頁的哈 
  4.            EFFristModelEntities ef = new EFFristModelEntities();//取到上下文 
  5.            return View(ef.UserInfo);//這個方法有多個重載 
  6.        } 
  7.  
  8.        // 
  9.        // GET: /Student/Details/5 
  10.        /// <summary> 
  11.        /// 數據頁面展現 是根據這個ID來展現某一條數據 
  12.        /// </summary> 
  13.        /// <param name="id"></param> 
  14.        /// <returns></returns> 
  15.        public ActionResult Details(int id) 
  16.        { 
  17.            //取到上下文 
  18.            EFFristModelEntities ef = new EFFristModelEntities(); 
  19.            //用這個上下文來取到這個用戶的信息 用Where  
  20.            //Where<UserInfo>(uId => uId.ID == id):是一個集合 FirstOrDefault<UserInfo>():一條數據 
  21.            var userInfo= ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  22.            ViewData.Model = userInfo;//用這個ViewData取到這個實體,再把取到的實體對象userInfo給ViewData  由於這個是一個強類型頁面 直接用Model用取到  前臺Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApp.Models.UserInfo>>"  
  23.            return View(); 
  24.        } 
  25.  
  26.        // 
  27.        // GET: /Student/Create 
  28.        /// <summary> 
  29.        /// 添加用戶信息 
  30.        /// </summary> 
  31.        /// <returns></returns> 
  32.        添加用戶就是在註冊裏面,方法同樣
  33.         
  34.        // 
  35.        // GET: /Student/Edit/5 
  36.        /// <summary> 
  37.        /// 編輯用戶的信息根據id來編輯用戶的信息 
  38.        /// </summary> 
  39.        /// <param name="id"></param> 
  40.        /// <returns></returns> 
  41.        public ActionResult Edit(int id) 
  42.        { 
  43.            //取到上下文 
  44.            EFFristModelEntities ef = new EFFristModelEntities(); 
  45.            var user = ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  46.            ViewData.Model = user; 
  47.            return View(); 
  48.        } 
  49.  
  50.        // 
  51.        // POST: /Student/Edit/5 
  52.        /// <summary> 
  53.        /// 編輯用戶的信息根據id來編輯用戶的信息 
  54.        /// </summary> 
  55.        /// <param name="id"></param> 
  56.        /// <param name="collection"></param> 
  57.        /// <returns></returns> 
  58.        [HttpPost] 
  59.        public ActionResult Edit(int id, UserInfo user) 
  60.        { 
  61.            try 
  62.            { 
  63.                EFFristModelEntities ef = new EFFristModelEntities(); 
  64.                ef.UserInfo.Attach(user);//把這個用戶給追加到這個上下文中來 
  65.                ef.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);//把這個用戶的信息給狀態改變了 
  66.                ef.SaveChanges(); 
  67.                return RedirectToAction("Index"); 
  68.            } 
  69.            catch 
  70.            { 
  71.                return View(); 
  72.            } 
  73.        } 
  74.  
  75.        // 
  76.        // GET: /Student/Delete/5 
  77.        /// <summary> 
  78.        /// 刪除數據根據id 
  79.        /// </summary> 
  80.        /// <param name="id"></param> 
  81.        /// <returns></returns> 
  82.        public ActionResult Delete(int id) 
  83.        { 
  84.            EFFristModelEntities ef = new EFFristModelEntities(); 
  85.            var userInfo=ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  86.            ViewData.Model = userInfo; 
  87.            return View(); 
  88.        } 
  89.  
  90.        // 
  91.        // POST: /Student/Delete/5 
  92.        /// <summary> 
  93.        /// 這個刪除是post提交的,前面都要添加一個屬性標籤[HttpPost] 
  94.        /// </summary> 
  95.        /// <param name="id"></param> 
  96.        /// <param name="collection"></param> 
  97.        /// <returns></returns> 
  98.        [HttpPost]         
  99.        public ActionResult Delete(int id, FormCollection collection) 
  100.        { 
  101.            try 
  102.            { 
  103.                EFFristModelEntities ef = new EFFristModelEntities();//找到上下文 
  104.                //找到Id 
  105.                var user=ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  106.                //判斷這個用戶是否爲null 
  107.                if (user != null
  108.                { 
  109.                    ef.UserInfo.DeleteObject(user);//用這個上下文來取到這個用戶id,刪除 
  110.                    ef.SaveChanges(); 
  111.                    return RedirectToAction("Index");//刪除成功就轉向到這個顯示數據 的頁面 
  112.                } 
  113.                return Content("無數據"); 
  114.            } 
  115.            catch 
  116.            { 
  117.                return View(); 
  118.            } 
  119.        } 
相關文章
相關標籤/搜索