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代码块,所以如果是会改变的值不应该声明 ...
随机推荐
- 一个糟糕的Erlang练习题
好吧,用的语法很糟糕...但是至少是做了练习. 题目 %The sequence of triangle numbers is generated by adding the natural numb ...
- configure new linux
vim http://www.cnblogs.com/wswang/p/5088078.html zsh sh -c "$(curl -fsSL https://raw.github. ...
- mysql 时间函数
select UNIX_TIMESTAMP(Now());#获取unix时间戳1436430994 ::"时间形式
- C++ map 映照容器
map映照容器的元素数据是一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系. map映照容器的数据结构是采用红黑树来实现的,插入键值的元素不允许重复,比较函数只对元素的键值进行比较, ...
- Ognl基本使用
---恢复内容开始--- Ognl默认是从“根”中取数据的 下面Demo中用的是 Ognl.getValue(String expression, Map context, Object root) ...
- PRML Chapter 2. Probability Distributions
PRML Chapter 2. Probability Distributions P68 conjugate priors In Bayesian probability theory, if th ...
- 我对 impress.js 源码的理解
源码看了两天,删掉了一些优化,和对 ipad 的支持,仅研究了其核心功能的实现,作以下记录. HTML 结构如下: <!doctype html> <html lang=" ...
- vm虚拟机自定义安装centOS找不到网卡
问题:自定义简化安装后执行ifconfig无法找到eth0网卡 1.查看eth0网络配置: [root@minion1 ~]# cat /etc/sysconfig/network-scripts/i ...
- MongoDB的快速手动安装
上一篇文章<MongoDB.WebIDE:升级版的Mongodb管理工具>漏了点东西:就是关于MongoDB主从库的安装配置和启动.网上关于MongoDB的安装有大量的文章供大家学习.我这 ...
- 超常用的PHP正则表达式收集整理
以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式. 一.表单验证匹配验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-z ...