MVC4+EF新手入门:编辑数据+删除数据
来源:互联网 发布:uefi ubuntu安装黑屏 编辑:程序博客网 时间:2024/05/16 17:44
讲解:
1.首先显示展示用户数据的页面 即Home/Index页面。
2.在页面上添加 编辑 列,附加超链接,点击后会传送Id属性到UserInfo/Edit方法,显示编辑页面ShowDetail。
3.在编辑页面修改用户数据,点击保存,提交到UserInfo/Edit方法 ([HttpPost]属性)
4.在控制器UserInfo/Edit中用EF保存用户数据。
主要代码:
UserInfoController:
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using WebApp.Models;namespace WebApp.Controllers{ public class UserInfoController : Controller { // // GET: /UserInfo/ NCUTBookShopDBEntities db = new NCUTBookShopDBEntities(); public ActionResult Index() { var userInfoList = db.UserInfo.Where<UserInfo>(u => true).ToList(); ViewData["list"] = userInfoList; return View(); } public ActionResult ShowDetail(int id) { var userInfo = db.UserInfo.Where<UserInfo>(u => u.Id == id); ViewData["info"] = userInfo; return View(); } public ActionResult Delete(int id) { //UserInfo userInfo = new UserInfo(){Id=id}; var userInfo = db.UserInfo.Where(u => u.Id == id).FirstOrDefault(); if (userInfo != null) { db.Entry(userInfo).State = System.Data.EntityState.Deleted; db.SaveChanges(); return RedirectToAction("Index"); } else { return Content("编号错误"); } } public ActionResult Edit(int id) { var userInfo = db.UserInfo.Where(u => u.Id == id).FirstOrDefault(); if (userInfo != null) { ViewData["userInfo"] = userInfo; } else { return Content("编号错误"); } return View(); } [HttpPost] public ActionResult Edit(UserInfo info) { db.Entry(info).State = System.Data.EntityState.Modified; if(db.SaveChanges()>0) return RedirectToAction("Index"); else { return Content("修改失败"); } return RedirectToAction("Index"); } }}
视图层:UserInfo/Edit
@using WebApp.Models@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Edit</title></head><body> <div> <form method="POST" action="/UserInfo/Edit"> <table> @{ UserInfo userInfo = (UserInfo)ViewData["userInfo"]; <tr> <td>用户名:</td> <td><input type="text" name="UserName" value="@userInfo.UserName" /></td> </tr> <tr> <td>密码:</td> <td><input type="text" name="Password" value="@userInfo.Password" /></td> </tr> <tr> <td>邮箱:</td> <td><input type="text" name="Email" value="@userInfo.Email" /></td> </tr> } <input type="hidden" name="Id" value="@userInfo.Id"/> </table> <input type="submit" value="保存" /> </form> </div></body></html>View视图 ShowDetail:
@using WebApp.Models@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>ShowDetail</title></head><body> <div> <table> <tr><td>用户名</td><td>密码</td></tr> @{ UserInfo info = (UserInfo)ViewData["info"]; <tr> <td>@info.UserName</td> <td>@info.Password</td> </tr> } </table> </div></body></html>
在展示用户数据页面 单机删除超连接,可以直接删除数据
@using System.Collections.Generic@using WebApp.Models@{ Layout = null;}<!DOCTYPE html><html><head> <meta name="viewport" content="width=device-width" /> <title>Index</title> <script src="~/Scripts/jquery-1.8.2.min.js"></script> <script type="text/javascript"> window.onload = function () { var deleteLinks = document.getElementsByClassName("delLink"); for (var i = 0; i < deleteLinks.length; i++) { deleteLinks[i].onclick = function () { if (!confirm("确定要删除吗?")) { return false; } } } } </script></head><body> <div> <table> <tr><th>编号</th><th>用户名</th><th>密码</th><th>详细</th><th>删除</th><th>编辑</th></tr> @foreach (UserInfo info in (List<UserInfo>) ViewData["list"]) { <tr> <td>@info.Id</td> <td>@info.UserName</td> <td>@info.Password</td> <td><a href="/UserInfo/ShowDetail?Id=@info.Id">详细</a></td> <td><a href="/UserInfo/Delete?Id=@info.Id" class="delLink">删除</a></td> <td><a href="/UserInfo/Edit?Id=@info.Id" >编辑</a></td> </tr> } </table> </div></body></html>
0 0
- MVC4+EF新手入门:编辑数据+删除数据
- MVC4+EF 新手入门:添加数据
- MVC4+EF新手入门:HtmlHelper
- EF 批量更新/删除数据
- EF 批量更新/删除数据
- ASP.NET MVC4学习之-------保持数据到数据库EF
- MVC+Easyui+EF datagrid数据编辑(5)
- [转]EF 批量更新/删除数据
- MVC4数据访问EF查询linq语句的时候报错找不到表名问题
- 《MVC + EF+ WCF 》——批量删除数据
- 数据分析新手入门指导
- json数据传递新手入门
- 在DataList里编辑和删除数据
- .net GridView数据行 删除,编辑
- 表格中数据的编辑和删除
- EF 数据丢失
- 传用EF添加数据
- EF codefirst数据迁移
- sed grep awk之间比较整理
- Unrecognized Windows Sockets error: 0: JVM_Bind 异常解决办法
- 安卓动画系列之属性动画实现跳起落下圆圈运动
- Google面试题及答案
- UIButton定义和设置圆角
- MVC4+EF新手入门:编辑数据+删除数据
- Linux GDB常用命令一栏
- HttpServletRequest对象方法的用法
- 面试题积累(七)
- 位域(Bit-fields)分析
- 娃儿好玩儿
- 阿里巴巴实习生面试
- windows下QT使用winsocket报错问题
- leetcode习题代码(经常更新)