首先创建一个MVC2的一个应用程序,里面已经给我们创建了控制器文件夹Controller、模板Models、Views视图
1.我们在控制器里面创建步骤看面的图吧
在这里要改名,后面的Controller别改啦 这上微软的约定
把鼠标放到这个Index上右击,点击这个添加视图
把这个名字最好改与你的控制器名字一样,选择这个创建强类型视图,在视图数据类里面选择你要的数据库,把视图内容选择为List,因为是要展示内容嘛。
2.我们要把这个用户的信息在页面上全部展示出来
我们把这个Models里面的实体对象上下文给取到
3.把这个用户的信息给展示出来
- public ActionResult Index()
- {
- //把数据给全部显示出来 当然这里还是要分页的哈
- EFFristModelEntities ef = new EFFristModelEntities();//取到上下文
- return View(ef.UserInfo);//这个方法有多个重载
- }
下面就是我们要展示出来的用户信息
4.我们来把取到用户的一条数据进行展示吧,增删改查都这样创建视图就可以了
5.首先取出一条用户信息显示出来 删除 编辑 显示出所有的 在删除与编辑用户信息,都要先展示出来当前所点击的用户信息。是根据用户Id找到的
-
- public ActionResult Index() //这里是显示所有的用户信息
- {
- //把数据给全部显示出来 当然这里还是要分页的哈
- EFFristModelEntities ef = new EFFristModelEntities();//取到上下文
- return View(ef.UserInfo);//这个方法有多个重载
- }
-
- //
- // GET: /Student/Details/5
- /// <summary>
- /// 数据页面展示 是根据这个ID来展示某一条数据
- /// </summary>
- /// <param name="id"></param>
- /// <returns></returns>
- public ActionResult Details(int id)
- {
- //取到上下文
- EFFristModelEntities ef = new EFFristModelEntities();
- //用这个上下文来取到这个用户的信息 用Where
- //Where<UserInfo>(uId => uId.ID == id):是一个集合 FirstOrDefault<UserInfo>():一条数据
- var userInfo= ef.UserInfo.Where<UserInfo>(u => u.ID == id).FirstOrDefault<UserInfo>();
- ViewData.Model = userInfo;//用这个ViewData取到这个实体,再把取到的实体对象userInfo给ViewData 因为这个是一个强类型页面 直接用Model用取到 前台Inherits="System.Web.Mvc.ViewPage<IEnumerable<MvcApp.Models.UserInfo>>"
- return View();
- }
-
- //
- // GET: /Student/Create
- /// <summary>
- /// 添加用户信息
- /// </summary>
- /// <returns></returns>
- 添加用户就是在注册里面,方法一样
- //
- // GET: /Student/Edit/5
- /// <summary>
- /// 编辑用户的信息根据id来编辑用户的信息
- /// </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>
- /// 编辑用户的信息根据id来编辑用户的信息
- /// </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);//把这个用户给追加到这个上下文中来
- ef.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);//把这个用户的信息给状态改变了
- ef.SaveChanges();
- return RedirectToAction("Index");
- }
- catch
- {
- return View();
- }
- }
- //
- // GET: /Student/Delete/5
- /// <summary>
- /// 删除数据根据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>
- /// 这个删除是post提交的,前面都要添加一个属性标签[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>();
- //判断这个用户是否为null
- if (user != null)
- {
- ef.UserInfo.DeleteObject(user);//用这个上下文来取到这个用户id,删除
- ef.SaveChanges();
- return RedirectToAction("Index");//删除成功就转向到这个显示数据 的页面
- }
- return Content("无数据");
- }
- catch
- {
- return View();
- }
- }