首先创建一个MVC2的一个应用程序,里面已经给我们创建了控制器文件夹Controller、模板Models、Views视图

1.我们在控制器里面创建步骤看面的图吧

MVC_增、删、改、查,过程详解_MVC_增、查

在这里要改名,后面的Controller别改啦 这上微软的约定

MVC_增、删、改、查,过程详解_MVC_增、查_02

 

MVC_增、删、改、查,过程详解_MVC_增、查_03

把鼠标放到这个Index上右击,点击这个添加视图

MVC_增、删、改、查,过程详解_MVC_增、查_04

把这个名字最好改与你的控制器名字一样,选择这个创建强类型视图,在视图数据类里面选择你要的数据库,把视图内容选择为List,因为是要展示内容嘛。

MVC_增、删、改、查,过程详解_MVC_增、查_05

2.我们要把这个用户的信息在页面上全部展示出来

我们把这个Models里面的实体对象上下文给取到

MVC_增、删、改、查,过程详解_MVC_增、查_06

3.把这个用户的信息给展示出来

 

  1. public ActionResult Index() 
  2.        { 
  3.            //把数据给全部显示出来  当然这里还是要分页的哈 
  4.            EFFristModelEntities ef = new EFFristModelEntities();//取到上下文 
  5.            return View(ef.UserInfo);//这个方法有多个重载 
  6.        } 

下面就是我们要展示出来的用户信息

MVC_增、删、改、查,过程详解_MVC_增、查_07

4.我们来把取到用户的一条数据进行展示吧,增删改查都这样创建视图就可以了

MVC_增、删、改、查,过程详解_MVC_增、查_08

5.首先取出一条用户信息显示出来 删除  编辑  显示出所有的  在删除与编辑用户信息,都要先展示出来当前所点击的用户信息。是根据用户Id找到的

  1. public ActionResult Index() //这里是显示所有的用户信息
  2.        { 
  3.            //把数据给全部显示出来  当然这里还是要分页的哈 
  4.            EFFristModelEntities ef = new EFFristModelEntities();//取到上下文 
  5.            return View(ef.UserInfo);//这个方法有多个重载 
  6.        } 
  7.  
  8. MVC_增、删、改、查,过程详解_MVC_增、查_09

  9.        // 
  10.        // GET: /Student/Details/5 
  11.        /// <summary> 
  12.        /// 数据页面展示 是根据这个ID来展示某一条数据 
  13.        /// </summary> 
  14.        /// <param name="id"></param> 
  15.        /// <returns></returns> 
  16.        public ActionResult Details(int id) 
  17.        { 
  18.            //取到上下文 
  19.            EFFristModelEntities ef = new EFFristModelEntities(); 
  20.            //用这个上下文来取到这个用户的信息 用Where  
  21.            //Where<UserInfo>(uId => uId.ID == id):是一个集合 FirstOrDefault<UserInfo>():一条数据 
  22.            var userInfo= ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  23.            ViewData.Model = userInfo;//用这个ViewData取到这个实体,再把取到的实体对象userInfo给ViewData  因为这个是一个强类型页面 直接用Model用取到  前台Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApp.Models.UserInfo>>"  
  24.            return View(); 
  25.        } 
  26.  
  27. MVC_增、删、改、查,过程详解_MVC_增、查_10

  28.        // 
  29.        // GET: /Student/Create 
  30.        /// <summary> 
  31.        /// 添加用户信息 
  32.        /// </summary> 
  33.        /// <returns></returns> 
  34.        添加用户就是在注册里面,方法一样
  35.         
  36.        // 
  37.        // GET: /Student/Edit/5 
  38.        /// <summary> 
  39.        /// 编辑用户的信息根据id来编辑用户的信息 
  40.        /// </summary> 
  41.        /// <param name="id"></param> 
  42.        /// <returns></returns> 
  43.        public ActionResult Edit(int id) 
  44.        { 
  45.            //取到上下文 
  46.            EFFristModelEntities ef = new EFFristModelEntities(); 
  47.            var user = ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  48.            ViewData.Model = user; 
  49.            return View(); 
  50.        } 
  51.  
  52. MVC_增、删、改、查,过程详解_MVC_增、查_11

  53.        // 
  54.        // POST: /Student/Edit/5 
  55.        /// <summary> 
  56.        /// 编辑用户的信息根据id来编辑用户的信息 
  57.        /// </summary> 
  58.        /// <param name="id"></param> 
  59.        /// <param name="collection"></param> 
  60.        /// <returns></returns> 
  61.        [HttpPost] 
  62.        public ActionResult Edit(int id, UserInfo user) 
  63.        { 
  64.            try 
  65.            { 
  66.                EFFristModelEntities ef = new EFFristModelEntities(); 
  67.                ef.UserInfo.Attach(user);//把这个用户给追加到这个上下文中来 
  68.                ef.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);//把这个用户的信息给状态改变了 
  69.                ef.SaveChanges(); 
  70.                return RedirectToAction("Index"); 
  71.            } 
  72.            catch 
  73.            { 
  74.                return View(); 
  75.            } 
  76.        } 
  77.  
  78.        // 
  79.        // GET: /Student/Delete/5 
  80.        /// <summary> 
  81.        /// 删除数据根据id 
  82.        /// </summary> 
  83.        /// <param name="id"></param> 
  84.        /// <returns></returns> 
  85.        public ActionResult Delete(int id) 
  86.        { 
  87.            EFFristModelEntities ef = new EFFristModelEntities(); 
  88.            var userInfo=ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  89.            ViewData.Model = userInfo; 
  90.            return View(); 
  91.        } 
  92.  
  93. MVC_增、删、改、查,过程详解_MVC_增、查_12

  94.        // 
  95.        // POST: /Student/Delete/5 
  96.        /// <summary> 
  97.        /// 这个删除是post提交的,前面都要添加一个属性标签[HttpPost] 
  98.        /// </summary> 
  99.        /// <param name="id"></param> 
  100.        /// <param name="collection"></param> 
  101.        /// <returns></returns> 
  102.        [HttpPost]         
  103.        public ActionResult Delete(int id, FormCollection collection) 
  104.        { 
  105.            try 
  106.            { 
  107.                EFFristModelEntities ef = new EFFristModelEntities();//找到上下文 
  108.                //找到Id 
  109.                var user=ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>(); 
  110.                //判断这个用户是否为null 
  111.                if (user != null
  112.                { 
  113.                    ef.UserInfo.DeleteObject(user);//用这个上下文来取到这个用户id,删除 
  114.                    ef.SaveChanges(); 
  115.                    return RedirectToAction("Index");//删除成功就转向到这个显示数据 的页面 
  116.                } 
  117.                return Content("无数据"); 
  118.            } 
  119.            catch 
  120.            { 
  121.                return View(); 
  122.            } 
  123.        }