MVC增删改查例子
一、显示用户列表
1.新建UserInfoController控制器
public ActionResult Index()
{
DataTable table = SQLHelper.ExecuteReader("select UserName, UserPwd from T_UserInfo");
ViewData["table"] = table;
return View();
}
2.新建视图Index
@using System.Data;
@{DataTable table = (DataTable)ViewData["table"];}
<table border="1" style="border-spacing:0px">
<thead><tr><th>用户</th><th>密码</th></tr></thead>
@foreach (DataRow row in table.Rows)
{
<tr>
<td>@row["UserName"]</td>
<td>@row["UserPwd"]</td>
</tr>
}
</table>
二、用户注册
1.在UserInfoController控制器下添加Add方法
public ActionResult Add()
{
return View();
}
2.在Add方法下新建Add视图
<form action="/UserInfo/ProcessAdd" method="post">
<table>
<tr>
<td>用户</td><td><input type="text" name="UserName" /></td>
</tr>
<tr>
<td>密码</td><td><input type="password" name="UserPwd" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="注册用户" /></td>
</tr>
</table>
</form>
3.在UserInfoController控制器下添加ProcessAdd方法
public ActionResult ProcessAdd()
{
string UserName = Request["UserName"];
//int UserPwd = !string.IsNullOrEmpty(Request["UserPwd"]) ? int.Parse(Request["UserPwd"]) : 0;
string UserPwd = Request["UserPwd"];
int r = SQLHelper.ExecuteNonQuery("insert into T_UserInfo(UserName,UserPwd) values(@UserName,@UserPwd)",
new SqlParameter { ParameterName = "@UserName", Value = UserName },
new SqlParameter { ParameterName = "@UserPwd", Value = UserPwd });
if (r <= )
{
return Content("注册失败!!!");
}
return RedirectToAction("Index");
}
三、用属性方式显示用户列表
1.在UserInfoController控制器下添加Show方法
public ActionResult Show()
{
DataTable table = SQLHelper.ExecuteReader("select Id, UserName, UserPwd from T_UserInfo");
List<UserInfo> list = new List<UserInfo>();
foreach (DataRow row in table.Rows)
{
UserInfo userinfo = new UserInfo();
userinfo.Id = (int)row["Id"];
userinfo.UserName = (string)row["UserName"];
userinfo.UserPwd = (string)row["UserPwd"];
list.Add(userinfo);
}
ViewData["UserInfo"] = list;
return View();
}
2.在Show方法下新建Show视图
@using MVCText.Models;
@{
List<UserInfo> user = ViewData["UserInfo"] as List<UserInfo>;
}
<table border="1" style="border-spacing:0px">
<thead><tr><th>用户</th><th>密码</th></tr></thead>
@{
foreach (UserInfo row in user)
{
<tr>
<td>@row.UserName</td>
<td>@row.UserPwd</td>
</tr>
}
}
</table>
四、cshtml页面中获取强类型数据并显示数据库内容
1.在UserInfoController控制器下添加Show方法
public ActionResult Show()
{
UserInfo userinfo = new UserInfo();
userinfo.Id = ;
userinfo.UserName = "张三";
userinfo.UserPwd = "";
ViewData.Model = userinfo;
return View();
}
2.在Show方法下新建Show视图
1)创建类获取
@{
UserInfo user = ViewData.Model;
}
<h1>@user.Id</h1>
<h2>@user.UserName</h2>
<h3>@user.UserPwd</h3>
2)直接获取Model数据
<h1>@Model.UserName</h1>
<h2>@Model.UserPwd</h2>
五、删除用户
1.在UserInfoController控制器下添加Delete方法
public ActionResult Delete()
{
int id = int.Parse(Request["Id"] ?? "");//如果??左边的值Request["Id"]不为null则直接转,否则将0转为数字
int r = SQLHelper.ExecuteNonQuery("delete from T_UserInfo where Id=@id",
new SqlParameter { ParameterName = "id", Value = id });
if (r > )
{
return RedirectToAction("Show");
}
else
{
return Content("删除失败!!!");
}
}
2.在Show方法下新建Show视图
@{
List<UserInfo> user = ViewData["UserInfo"] as List<UserInfo>;
}
<table border="1" style="border-spacing:0px">
<thead><tr><th>用户</th><th>密码</th><th>删除</th></tr></thead>
@{
foreach (UserInfo row in user)
{
<tr>
<td>@row.UserName</td>
<td>@row.UserPwd</td>
<td><a href="/UserInfo/Delete?Id=@row.Id" style="color:blue">删除</a></td>
</tr>
}
}
</table>
六、修改用户
1.在UserInfoController控制器下添加两个Edit方法并加上HttpGet和HttpPost特性
[HttpGet]
public ActionResult Edit(int Id)
{
DataTable table = SQLHelper.ExecuteReader("select Id,UserName,UserPwd from T_UserInfo where Id=@Id",
new SqlParameter("@id", Id));
UserInfo user = new UserInfo();
user.Id = Convert.ToInt32(table.Rows[]["Id"]);
user.UserName = (string)table.Rows[]["UserName"];
user.UserPwd = (string)table.Rows[]["UserPwd"];
ViewData["UserInfo"] = user;
return View();
} [HttpPost]
public ActionResult Edit(int Id, string UserName, string UserPwd)
{
SQLHelper.ExecuteNonQuery("update T_UserInfo set UserName=@UserName,UserPwd=@UserPwd where Id=@Id",
new SqlParameter("@UserName", UserName),
new SqlParameter("@UserPwd", UserPwd),
new SqlParameter("@id", Id));
return RedirectToAction("Show");
}
2.在Show方法下新建Show视图
@{
List<UserInfo> user = ViewData["UserInfo"] as List<UserInfo>;
}
<table border="1" style="border-spacing:0px">
<thead><tr><th>用户</th><th>密码</th><th>编辑</th><th>删除</th></tr></thead>
@{
foreach (UserInfo row in user)
{
<tr>
<td>@row.UserName</td>
<td>@row.UserPwd</td>
<td><a href="/UserInfo/Edit?Id=@row.Id" style="color:blue">编辑</a></td>
<td><a href="/UserInfo/Delete?Id=@row.Id" style="color:blue">删除</a></td>
</tr>
}
}
</table>
3.在Edit方法下新建Edit视图
@using MVCText.Models;
@{
UserInfo user = ViewData["UserInfo"] as UserInfo;
}
<form action="/UserInfo/Edit?Id=@user.Id" method="post">
<table>
<tr>
<td>用户</td><td><input type="text" name="UserName" value="@user.UserName" /></td>
</tr>
<tr>
<td>密码</td><td><input type="password" name="UserPwd" value="@user.UserPwd" /></td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="保存" /></td>
</tr>
</table>
</form>
MVC增删改查例子的更多相关文章
- ASP.NET MVC增删改查
ASP.NET MVC中的增删改查 基本都要使用C控制器中的两个action来完成操作,一个用于从主界面跳转到新页面.同时将所需操作的数据传到新界面,另一个则对应新界面的按钮,用于完成操作.将数据传回 ...
- MVC 增删改查
MVC内部的增删改查语句都是用Lambda表达式写成的,因此要想使用MVC内部的增删改查就要学会写Lambda表达式. 这里拿表Train来仅作研究: //声明一个表Train的上下文对象 AirSy ...
- spring boot2+jpa+thymeleaf增删改查例子
参考这遍文章做了一个例子,稍微不同之处,原文是spring boot.mysql,这里改成了spring boot 2.Oracle. 一.pom.xml引入相关模块web.jpa.thymeleaf ...
- 自定义mvc增删改查
对t_mvc_book表的增删改查 导入jar包 BaseDao package com.hmc.util; import java.lang.reflect.Field; import java.s ...
- 初次尝试PHP——一个简单的对数据库操作的增删改查例子
第一次学习PHP,很多人说PHP是最好的语言,学习了一点点,还不敢说这样的话,不过确实蛮好用的. 做了一个简单的对数据库的增删改查的操作,主要是将四种操作写成了独立的函数,之后直接调用函数.以下是代码 ...
- Java MVC 增删改查 实例
需求:实现增加新部门的功能,对应数据库表示Oracle的dept表 一.Java MVC 增 实现: 1.视图层(V):注册部门 deptAdd.jsp 在注册新部门页面只需输入“部门名称”和“城市” ...
- 用liferay实现的增删改查例子-book管理系统
liferay 这个框架是一个开源的项目,大家可以修改源代码,来实现自己的需求.但是关于liferay的开发资料中文的很少关于liferay的基础知识,大家可以百度学习一下,再来看下边的例子 首先需要 ...
- DBUtils 增删改查例子
sql CREATE TABLE [dbo].[Person] ( , ) NOT NULL , ) COLLATE Chinese_PRC_CI_AS NULL , [age] [int] NULL ...
- JSP的一个增删改查例子和总结
总结的几点: 1.在jsp中注意<%! %>声明代码块中的变量只会在项目开始的时候第一次运行jsp的时候执行一遍,有点类似于java类中的static代码块,所以如果是会改变的值不应该声明 ...
随机推荐
- GCC、Makefile编程学习
相关学习资料 http://gcc.gnu.org/ https://gcc.gnu.org/onlinedocs/ http://zh.wikipedia.org/zh/GCC http://blo ...
- leach协议matlab仿真代码
http://www.ilovematlab.cn/thread-177006-1-1.html LEACH協議clear;%清除內存變量 xm=100;%x軸範圍ym=100;%y軸範圍 sink. ...
- JQueryEasyUI datagrid框架的基本使用
http://www.jb51.net/article/35348.htm 今天说说这个datagrid框架的基本使用,这个框架一直以来都是大家比较头疼的框架,尤其是Json数据的拼接,后台前台都很重 ...
- 修改更新源sources.list,提高软件下载安装速度(提供Kali 2.0 更新源)
1.切换到root用户(如果已经是root用户就直接看第二步) dnt@HackerKali:~$ su 密码: 2.用文本编辑器打开sources.list,手动添加下面的更新源 root@Hack ...
- serialVersionUID要注意以下几点:
今天在使用eclipse开发的时候,遇到一个warning,看到warning我总觉得不爽,使用自动修复后,发现eclipse在代码中加入了“private static final long ser ...
- pom.xml
使用intelJ idea 导入maven包管理文件是,使用Import的方式导入,会自动导入pom.xml来导入包. pom.xml会指定父子关系. 例如,总模块的pom.xml中有一下内容: &l ...
- 解决在IE中返回JSON格式的数据时提示下载的问题
如题,以ASP.NET MVC为例,解决办法如下: 控制器中: public JsonResult Test() { return Json(json, "text/html"); ...
- linux cp命令参数及用法详解
cp (复制档案或目录)[root@linux ~]# cp [-adfilprsu] 来源档(source) 目的檔(destination)[root@linux ~]# cp [options] ...
- Chrome中的Device模块调式响应性设计
Chrome中的Device模块调式响应性设计 阅读目录 启用Device模块 Device模块设置介绍 自定义预设介绍 查看media queries 触发触摸事件 回到顶部 启用Device模块 ...
- 小希的迷宫(MST单棵树判断法则)
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...