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
原创粉丝点击