zoukankan      html  css  js  c++  java
  • MVC简单的增删改查

    MVC简单的增删改查

    最近的学习了一下mvc,现在做一个mvc的CRUD例子。

    1、创建实体模型

    2、创建一个UserInfo的控制器

     

    3、查询数据

     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)" οnclick="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

    复制代码

     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         }

    复制代码

    veiw

    复制代码

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

    复制代码

     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>

    复制代码

  • 相关阅读:
    win11系统无法解决的死结
    python多线程2线程应用
    python多线程3线程同步
    python多线程3.1同步测试例子
    python多线程1线程创建
    最近总是淡淡的····
    ASP.NET MVC 中如何实现基于角色的权限控制
    【转】Visual C++ ADO数据库编程入门
    【转】Windows窗体消息汇总
    【转】数据库设计中的14个技巧
  • 原文地址:https://www.cnblogs.com/grj001/p/12225261.html
Copyright © 2011-2022 走看看