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.        } 
相关文章
相关标签/搜索