MVC简单的增删改查
MVC 简单 增删 改查
2023-09-11 14:22:03 时间
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>
相关文章
- jquery 中$.post获取MVC Controller中JsonResult返回包含LIst<Model>类型的子List<Model>的高级使用方法
- MVC中前台如何向后台传递数据------$.get(),$post(),$ajax(),$.getJSON()总结
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截
- MVC之Ajax.BeginForm使用详解之更新列表 mvc验证jquery.unobtrusive-ajax
- 解决Win10系统下 C# DateTime 出现星期几的问题 解决ASP.NET MVC 接受Request Playload参数问题
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 简单使用 Mvc 内置的 Ioc
- MVC |分部视图 PartialView()
- Spring MVC
- ASP.NET MVC异步验证是如何工作的02,异步验证表单元素的创建
- datagrid在MVC中的运用05-加入时间搜索条件,枚举填充下拉框
- 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
- ASP.NET MVC 入门介绍 (上)
- 《精通 ASP.NET MVC 4》----第 2 章 第一个MVC应用程序 2.1 准备工作站
- 《ASP.NET MVC 4 实战》----2.4 小结
- C# MVC @Html.DropDownListFor对简单的下拉列表的匿名类构造方法
- C# MVC中视图页面cshtml中添加变量(前后都有字符时)
- Asp.net MVC中Html.Partial, RenderPartial, Action,RenderAction 区别和用法【转发】
- spring mvc环境之数据库ORM组件Mybaits配置(九)
- spring mvc环境之上传文件设置(五)
- ASP.NET MVC 5 - 查询Details和Delete方法
- Unity 工具类 之 简单的UI管理框架/仅通过UIWidget(UI元素组件)名即可添加UI对应事件(简单的MVC思路管理UI与逻辑)
- Unity 工具类 之 简单的 MVC 框架使用实现简单的案例demo
- 简单的JAVA MVC框架模式--Java-servlet-JavaBean
- spring mvc DispatcherServlet详解之一--request通过HandlerMaping获取控制器Controller过程
- spring mvc DispatcherServlet详解之四---视图渲染过程