这篇文章主要为大家展示了“MVC如何实现增、删、改、查”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MVC如何实现增、删、改、查”这篇文章吧。
首先创建一个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();
}
}
以上是“MVC如何实现增、删、改、查”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:506227337,如若转载,请注明出处:https://blog.ytso.com/237760.html