MVC+EF简单增删改查

1.创建实体

2、创建一个UserInfo的控制器 

 

 

3、查询数据 

code

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

 view

@{
    Layout = null;
}
@using MVCCRUDAPI.Models;
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
    <table>
        <tr><td>用户名</td><td>密码</td><td>年龄</td><td>邮箱</td><td>备注</td><td>添加时间</td><td>操作</td></tr>
        @foreach (UserInfo userInfo in ViewBag.userInfoList)
        {
            <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>
        }
    </table>
</body>
</html>

数据展示

 

3、添加数据 

code

public ActionResult Add()
        {
            return View();
        }
        [HttpPost]
        public ActionResult Add(UserInfo userInfo)
        {
            if (!ModelState.IsValid)
            {
                return Content("error");
            }
            userInfo.RegTime = DateTime.Now;
            demoEntities.UserInfo.Add(userInfo);
            demoEntities.SaveChanges();
            return Content("ok");
        }

view 

@{
    Layout = null;
}
@model MVCCRUDAPI.Models.UserInfo
<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>添加</title>
    <script src="~/Scripts/jquery-1.8.2.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
    <script>
        function success(data) {
            if (data == "ok") {
                alert("添加成功");
                window.location.href = "/UserInfo/Index";
            }
            else if (data == "error") {
                alert("参数提交失败");
            }
        }
    </script>
</head>
<body>
    <div>
        @using (Ajax.BeginForm("add", "UserInfo", new AjaxOptions { HttpMethod = "post", OnSuccess = "success" }))
        {
            <div>
                @Html.LabelFor(u => u.UserName)
            </div>
            <div>
                @Html.TextBoxFor(u => u.UserName)
                
            </div>
            <div>
                @Html.LabelFor(u => u.UserPwd)
            </div>
            <div>
                @Html.PasswordFor(u => u.UserPwd)
                
            </div>
            <div>
                @Html.LabelFor(u => u.Email)
            </div>
            <div>
                @Html.TextBoxFor(u => u.Email)
                
            </div>
            <div>
                @Html.LabelFor(u => u.Age)
            </div>
            <div>
                @Html.TextBoxFor(u => u.Age)
                
            </div>
            <div>
                @Html.LabelFor(u => u.Remark)
            </div>
            <div>
                @Html.TextAreaFor(u => u.Remark)
                
            </div>
            <br />
            <input type="submit" value="添加" />  <a href="/UserInfo/Index">返回</a>
        }
    </div>
</body>
</html>

4、更新数据 

code

UserInfo userInfo = new UserInfo();
public ActionResult Edit(int id)
        {
            userInfo = demoEntities.Set<UserInfo>().Where(u => u.Id == id).FirstOrDefault();
            return View(userInfo);
        }
        [HttpPost]
        public ActionResult Edit(UserInfo userInfo)
        {
            if (!ModelState.IsValid)
            {
                return Content("error");
            }
            demoEntities.UserInfo.Attach(userInfo);//对象添加到EF管理容器中
            demoEntities.Entry(userInfo).State = EntityState.Modified;
            demoEntities.SaveChanges();
            return Content("ok");
        }

view

@model MVCCRUDAPI.Models.UserInfo

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>编辑</title>
</head>
<body>
    <script src="~/Scripts/jquery-1.8.2.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
    <script>
        function success(data) {
            if (data == "ok") {
                alert("编辑成功");
                window.location.href = "/UserInfo/Index";
            }
            else if (data == "error") {
                alert("参数提交失败");
            }
        }
    </script>
    @using (Ajax.BeginForm("Edit", "UserInfo", new AjaxOptions { OnSuccess = "success", HttpMethod = "post" }))
    {
        @Html.HiddenFor(model => model.Id)

        <div>
            @Html.LabelFor(model => model.UserName)
        </div>
        <div>
            @Html.EditorFor(model => model.UserName)
            
        </div>
        <div>
            @Html.LabelFor(model => model.UserPwd)
        </div>
        <div>
            @Html.EditorFor(model => model.UserPwd)
            
        </div>
        <div>
            @Html.LabelFor(model => model.Age)
        </div>
        <div>
            @Html.EditorFor(model => model.Age)
           
        </div>
        <div>
            @Html.LabelFor(model => model.Email)
        </div>
        <div>
            @Html.EditorFor(model => model.Email)
            
        </div>
        <div>
            @Html.LabelFor(model => model.Remark)
        </div>
        <div>
            @Html.TextAreaFor(u => u.Remark)
            
        </div>
        @Html.HiddenFor(model => model.RegTime)
        <p>
            <input type="submit" value="保存" /> <a href="/UserInfo/Index">返回</a>
        </p>
    }
</body>
</html>

5、删除数据 

code

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

view

<script>
        function del(id) {
            if (confirm("确定删除吗?")) {
                $.post("/UserInfo/Delete/" + id, null,
                    function success(data) {
                        if (data == "ok") {
                            alert("删除成功");
                            window.location.href = "/UserInfo/Index";
                        }
                        else {
                            alert("参数错误");
                        }
                    })
            }
        }
    </script>

猜你喜欢

转载自blog.csdn.net/qq_37192571/article/details/81355787