MVC4+EF新手入门:编辑数据+删除数据

讲解:

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(u => true).ToList();
            ViewData["list"] = userInfoList;
            return View();
        }

        public ActionResult ShowDetail(int id)
        {
            var userInfo = db.UserInfo.Where(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;
}





    
    Edit


    
@{ UserInfo userInfo = (UserInfo)ViewData["userInfo"]; }
用户名:
密码:
邮箱:
View视图 ShowDetail:

@using WebApp.Models
@{
    Layout = null;
}





    
    ShowDetail


    
@{ UserInfo info = (UserInfo)ViewData["info"]; }
用户名密码
@info.UserName @info.Password

在展示用户数据页面 单机删除超连接,可以直接删除数据

@using System.Collections.Generic
@using WebApp.Models
@{
    Layout = null;
}





    
    Index
    
    


    
@foreach (UserInfo info in (List) ViewData["list"]) { }
编号用户名密码详细删除编辑
@info.Id @info.UserName @info.Password 详细 删除 编辑



你可能感兴趣的:(.Net,MVC)