MVC+EF简单增删改查

柔情只为你懂 2022-05-17 20:16 284阅读 0赞

1.创建实体

70

2、创建一个UserInfo的控制器

70 1

70 2

3、查询数据

code

  1. public IList<UserInfo> userInfoList { get; set; }
  2. DemoEntities demoEntities = new DemoEntities();//创建EF上下文
  3. public ActionResult Index()
  4. {
  5. userInfoList = demoEntities.Set<UserInfo>().ToList();
  6. ViewBag.userInfoList = userInfoList;
  7. return View();
  8. }

view

  1. @{
  2. Layout = null;
  3. }
  4. @using MVCCRUDAPI.Models;
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width" />
  9. <title>Index</title>
  10. </head>
  11. <body>
  12. <table>
  13. <tr><td>用户名</td><td>密码</td><td>年龄</td><td>邮箱</td><td>备注</td><td>添加时间</td><td>操作</td></tr>
  14. @foreach (UserInfo userInfo in ViewBag.userInfoList)
  15. {
  16. <tr><td>@userInfo.UserName</td><td>@userInfo.UserPwd</td><td>@userInfo.Age<td>@userInfo.Email</td><td>@userInfo.Remark</td><td>@userInfo.RegTime</td><td><a href="/UserInfo/Edit/@userInfo.Id">编辑</a> <a href="javascript:void(0)" onclick="del(@userInfo.Id)">删除</a></td></tr>
  17. }
  18. </table>
  19. </body>
  20. </html>

数据展示

70 3

3、添加数据

code

  1. public ActionResult Add()
  2. {
  3. return View();
  4. }
  5. [HttpPost]
  6. public ActionResult Add(UserInfo userInfo)
  7. {
  8. if (!ModelState.IsValid)
  9. {
  10. return Content("error");
  11. }
  12. userInfo.RegTime = DateTime.Now;
  13. demoEntities.UserInfo.Add(userInfo);
  14. demoEntities.SaveChanges();
  15. return Content("ok");
  16. }

view

  1. @{
  2. Layout = null;
  3. }
  4. @model MVCCRUDAPI.Models.UserInfo
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width" />
  9. <title>添加</title>
  10. <script src="~/Scripts/jquery-1.8.2.js"></script>
  11. <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
  12. <script src="~/Scripts/jquery.validate.min.js"></script>
  13. <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
  14. <script>
  15. function success(data) {
  16. if (data == "ok") {
  17. alert("添加成功");
  18. window.location.href = "/UserInfo/Index";
  19. }
  20. else if (data == "error") {
  21. alert("参数提交失败");
  22. }
  23. }
  24. </script>
  25. </head>
  26. <body>
  27. <div>
  28. @using (Ajax.BeginForm("add", "UserInfo", new AjaxOptions { HttpMethod = "post", OnSuccess = "success" }))
  29. {
  30. <div>
  31. @Html.LabelFor(u => u.UserName)
  32. </div>
  33. <div>
  34. @Html.TextBoxFor(u => u.UserName)
  35. </div>
  36. <div>
  37. @Html.LabelFor(u => u.UserPwd)
  38. </div>
  39. <div>
  40. @Html.PasswordFor(u => u.UserPwd)
  41. </div>
  42. <div>
  43. @Html.LabelFor(u => u.Email)
  44. </div>
  45. <div>
  46. @Html.TextBoxFor(u => u.Email)
  47. </div>
  48. <div>
  49. @Html.LabelFor(u => u.Age)
  50. </div>
  51. <div>
  52. @Html.TextBoxFor(u => u.Age)
  53. </div>
  54. <div>
  55. @Html.LabelFor(u => u.Remark)
  56. </div>
  57. <div>
  58. @Html.TextAreaFor(u => u.Remark)
  59. </div>
  60. <br />
  61. <input type="submit" value="添加" /> <a href="/UserInfo/Index">返回</a>
  62. }
  63. </div>
  64. </body>
  65. </html>

4、更新数据

code

  1. UserInfo userInfo = new UserInfo();
  2. public ActionResult Edit(int id)
  3. {
  4. userInfo = demoEntities.Set<UserInfo>().Where(u => u.Id == id).FirstOrDefault();
  5. return View(userInfo);
  6. }
  7. [HttpPost]
  8. public ActionResult Edit(UserInfo userInfo)
  9. {
  10. if (!ModelState.IsValid)
  11. {
  12. return Content("error");
  13. }
  14. demoEntities.UserInfo.Attach(userInfo);//对象添加到EF管理容器中
  15. demoEntities.Entry(userInfo).State = EntityState.Modified;
  16. demoEntities.SaveChanges();
  17. return Content("ok");
  18. }

view

  1. @model MVCCRUDAPI.Models.UserInfo
  2. @{
  3. Layout = null;
  4. }
  5. <!DOCTYPE html>
  6. <html>
  7. <head>
  8. <meta name="viewport" content="width=device-width" />
  9. <title>编辑</title>
  10. </head>
  11. <body>
  12. <script src="~/Scripts/jquery-1.8.2.js"></script>
  13. <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
  14. <script src="~/Scripts/jquery.validate.min.js"></script>
  15. <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
  16. <script>
  17. function success(data) {
  18. if (data == "ok") {
  19. alert("编辑成功");
  20. window.location.href = "/UserInfo/Index";
  21. }
  22. else if (data == "error") {
  23. alert("参数提交失败");
  24. }
  25. }
  26. </script>
  27. @using (Ajax.BeginForm("Edit", "UserInfo", new AjaxOptions { OnSuccess = "success", HttpMethod = "post" }))
  28. {
  29. @Html.HiddenFor(model => model.Id)
  30. <div>
  31. @Html.LabelFor(model => model.UserName)
  32. </div>
  33. <div>
  34. @Html.EditorFor(model => model.UserName)
  35. </div>
  36. <div>
  37. @Html.LabelFor(model => model.UserPwd)
  38. </div>
  39. <div>
  40. @Html.EditorFor(model => model.UserPwd)
  41. </div>
  42. <div>
  43. @Html.LabelFor(model => model.Age)
  44. </div>
  45. <div>
  46. @Html.EditorFor(model => model.Age)
  47. </div>
  48. <div>
  49. @Html.LabelFor(model => model.Email)
  50. </div>
  51. <div>
  52. @Html.EditorFor(model => model.Email)
  53. </div>
  54. <div>
  55. @Html.LabelFor(model => model.Remark)
  56. </div>
  57. <div>
  58. @Html.TextAreaFor(u => u.Remark)
  59. </div>
  60. @Html.HiddenFor(model => model.RegTime)
  61. <p>
  62. <input type="submit" value="保存" /> <a href="/UserInfo/Index">返回</a>
  63. </p>
  64. }
  65. </body>
  66. </html>

5、删除数据

code

  1. public ActionResult Delete(int id)
  2. {
  3. userInfo.Id = id;
  4. demoEntities.UserInfo.Attach(userInfo);//对象添加到EF管理容器中
  5. demoEntities.Entry(userInfo).State = EntityState.Deleted;
  6. demoEntities.SaveChanges();
  7. return Content("ok");
  8. }

view

  1. <script>
  2. function del(id) {
  3. if (confirm("确定删除吗?")) {
  4. $.post("/UserInfo/Delete/" + id, null,
  5. function success(data) {
  6. if (data == "ok") {
  7. alert("删除成功");
  8. window.location.href = "/UserInfo/Index";
  9. }
  10. else {
  11. alert("参数错误");
  12. }
  13. })
  14. }
  15. }
  16. </script>

发表评论

表情:
评论列表 (有 0 条评论,284人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MyBatis与简单增删

    selcet 在我们之前说过的权限系统中,我们需要使用到查询功能来查询用户、角色和权限等数据。在使用纯粹的JDBC时,需要写查询语句,并且对结果集进行手动处理,将结果集映射到