一、显示用户列表
1.新建UserInfoController控制器

  1. public ActionResult Index()
  2. {
  3. DataTable table = SQLHelper.ExecuteReader("select UserName, UserPwd from T_UserInfo");
  4. ViewData["table"] = table;
  5. return View();
  6. }

2.新建视图Index

  1. @using System.Data;
  2. @{DataTable table = (DataTable)ViewData["table"];}
  3. <table border="1" style="border-spacing:0px">
  4. <thead><tr><th>用户</th><th>密码</th></tr></thead>
  5. @foreach (DataRow row in table.Rows)
  6. {
  7. <tr>
  8. <td>@row["UserName"]</td>
  9. <td>@row["UserPwd"]</td>
  10. </tr>
  11. }
  12. </table>

二、用户注册
1.在UserInfoController控制器下添加Add方法

  1. public ActionResult Add()
  2. {
  3. return View();
  4. }

2.在Add方法下新建Add视图

  1. <form action="/UserInfo/ProcessAdd" method="post">
  2. <table>
  3. <tr>
  4. <td>用户</td><td><input type="text" name="UserName" /></td>
  5. </tr>
  6. <tr>
  7. <td>密码</td><td><input type="password" name="UserPwd" /></td>
  8. </tr>
  9. <tr>
  10. <td colspan="2"><input type="submit" value="注册用户" /></td>
  11. </tr>
  12. </table>
  13. </form>

3.在UserInfoController控制器下添加ProcessAdd方法

  1. public ActionResult ProcessAdd()
  2. {
  3. string UserName = Request["UserName"];
  4. //int UserPwd = !string.IsNullOrEmpty(Request["UserPwd"]) ? int.Parse(Request["UserPwd"]) : 0;
  5. string UserPwd = Request["UserPwd"];
  6. int r = SQLHelper.ExecuteNonQuery("insert into T_UserInfo(UserName,UserPwd) values(@UserName,@UserPwd)",
  7. new SqlParameter { ParameterName = "@UserName", Value = UserName },
  8. new SqlParameter { ParameterName = "@UserPwd", Value = UserPwd });
  9. if (r <= )
  10. {
  11. return Content("注册失败!!!");
  12. }
  13. return RedirectToAction("Index");
  14. }

三、用属性方式显示用户列表
1.在UserInfoController控制器下添加Show方法

  1. public ActionResult Show()
  2. {
  3. DataTable table = SQLHelper.ExecuteReader("select Id, UserName, UserPwd from T_UserInfo");
  4. List<UserInfo> list = new List<UserInfo>();
  5. foreach (DataRow row in table.Rows)
  6. {
  7. UserInfo userinfo = new UserInfo();
  8. userinfo.Id = (int)row["Id"];
  9. userinfo.UserName = (string)row["UserName"];
  10. userinfo.UserPwd = (string)row["UserPwd"];
  11. list.Add(userinfo);
  12. }
  13. ViewData["UserInfo"] = list;
  14. return View();
  15. }

2.在Show方法下新建Show视图

  1. @using MVCText.Models;
  2. @{
  3. List<UserInfo> user = ViewData["UserInfo"] as List<UserInfo>;
  4. }
  5. <table border="1" style="border-spacing:0px">
  6. <thead><tr><th>用户</th><th>密码</th></tr></thead>
  7. @{
  8. foreach (UserInfo row in user)
  9. {
  10. <tr>
  11. <td>@row.UserName</td>
  12. <td>@row.UserPwd</td>
  13. </tr>
  14. }
  15. }
  16. </table>

四、cshtml页面中获取强类型数据并显示数据库内容
1.在UserInfoController控制器下添加Show方法

  1. public ActionResult Show()
  2. {
  3. UserInfo userinfo = new UserInfo();
  4. userinfo.Id = ;
  5. userinfo.UserName = "张三";
  6. userinfo.UserPwd = "";
  7. ViewData.Model = userinfo;
  8. return View();
  9. }

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方法

  1. public ActionResult Delete()
  2. {
  3. int id = int.Parse(Request["Id"] ?? "");//如果??左边的值Request["Id"]不为null则直接转,否则将0转为数字
  4. int r = SQLHelper.ExecuteNonQuery("delete from T_UserInfo where Id=@id",
  5. new SqlParameter { ParameterName = "id", Value = id });
  6. if (r > )
  7. {
  8. return RedirectToAction("Show");
  9. }
  10. else
  11. {
  12. return Content("删除失败!!!");
  13. }
  14. }

2.在Show方法下新建Show视图

  1. @{
  2. List<UserInfo> user = ViewData["UserInfo"] as List<UserInfo>;
  3. }
  4. <table border="1" style="border-spacing:0px">
  5. <thead><tr><th>用户</th><th>密码</th><th>删除</th></tr></thead>
  6. @{
  7. foreach (UserInfo row in user)
  8. {
  9. <tr>
  10. <td>@row.UserName</td>
  11. <td>@row.UserPwd</td>
  12. <td><a href="/UserInfo/Delete?Id=@row.Id" style="color:blue">删除</a></td>
  13. </tr>
  14. }
  15. }
  16. </table>

六、修改用户
1.在UserInfoController控制器下添加两个Edit方法并加上HttpGet和HttpPost特性

  1. [HttpGet]
  2. public ActionResult Edit(int Id)
  3. {
  4. DataTable table = SQLHelper.ExecuteReader("select Id,UserName,UserPwd from T_UserInfo where Id=@Id",
  5. new SqlParameter("@id", Id));
  6. UserInfo user = new UserInfo();
  7. user.Id = Convert.ToInt32(table.Rows[]["Id"]);
  8. user.UserName = (string)table.Rows[]["UserName"];
  9. user.UserPwd = (string)table.Rows[]["UserPwd"];
  10. ViewData["UserInfo"] = user;
  11. return View();
  12. }
  13.  
  14. [HttpPost]
  15. public ActionResult Edit(int Id, string UserName, string UserPwd)
  16. {
  17. SQLHelper.ExecuteNonQuery("update T_UserInfo set UserName=@UserName,UserPwd=@UserPwd where Id=@Id",
  18. new SqlParameter("@UserName", UserName),
  19. new SqlParameter("@UserPwd", UserPwd),
  20. new SqlParameter("@id", Id));
  21. return RedirectToAction("Show");
  22. }

2.在Show方法下新建Show视图

  1. @{
  2. List<UserInfo> user = ViewData["UserInfo"] as List<UserInfo>;
  3. }
  4. <table border="1" style="border-spacing:0px">
  5. <thead><tr><th>用户</th><th>密码</th><th>编辑</th><th>删除</th></tr></thead>
  6. @{
  7. foreach (UserInfo row in user)
  8. {
  9. <tr>
  10. <td>@row.UserName</td>
  11. <td>@row.UserPwd</td>
  12. <td><a href="/UserInfo/Edit?Id=@row.Id" style="color:blue">编辑</a></td>
  13. <td><a href="/UserInfo/Delete?Id=@row.Id" style="color:blue">删除</a></td>
  14. </tr>
  15. }
  16. }
  17. </table>

3.在Edit方法下新建Edit视图

  1. @using MVCText.Models;
  2. @{
  3. UserInfo user = ViewData["UserInfo"] as UserInfo;
  4. }
  5. <form action="/UserInfo/Edit?Id=@user.Id" method="post">
  6. <table>
  7. <tr>
  8. <td>用户</td><td><input type="text" name="UserName" value="@user.UserName" /></td>
  9. </tr>
  10. <tr>
  11. <td>密码</td><td><input type="password" name="UserPwd" value="@user.UserPwd" /></td>
  12. </tr>
  13. <tr>
  14. <td colspan="2"><input type="submit" value="保存" /></td>
  15. </tr>
  16. </table>
  17. </form>

MVC增删改查例子的更多相关文章

  1. ASP.NET MVC增删改查

    ASP.NET MVC中的增删改查 基本都要使用C控制器中的两个action来完成操作,一个用于从主界面跳转到新页面.同时将所需操作的数据传到新界面,另一个则对应新界面的按钮,用于完成操作.将数据传回 ...

  2. MVC 增删改查

    MVC内部的增删改查语句都是用Lambda表达式写成的,因此要想使用MVC内部的增删改查就要学会写Lambda表达式. 这里拿表Train来仅作研究: //声明一个表Train的上下文对象 AirSy ...

  3. spring boot2+jpa+thymeleaf增删改查例子

    参考这遍文章做了一个例子,稍微不同之处,原文是spring boot.mysql,这里改成了spring boot 2.Oracle. 一.pom.xml引入相关模块web.jpa.thymeleaf ...

  4. 自定义mvc增删改查

    对t_mvc_book表的增删改查 导入jar包 BaseDao package com.hmc.util; import java.lang.reflect.Field; import java.s ...

  5. 初次尝试PHP——一个简单的对数据库操作的增删改查例子

    第一次学习PHP,很多人说PHP是最好的语言,学习了一点点,还不敢说这样的话,不过确实蛮好用的. 做了一个简单的对数据库的增删改查的操作,主要是将四种操作写成了独立的函数,之后直接调用函数.以下是代码 ...

  6. Java MVC 增删改查 实例

    需求:实现增加新部门的功能,对应数据库表示Oracle的dept表 一.Java MVC 增 实现: 1.视图层(V):注册部门 deptAdd.jsp 在注册新部门页面只需输入“部门名称”和“城市” ...

  7. 用liferay实现的增删改查例子-book管理系统

    liferay 这个框架是一个开源的项目,大家可以修改源代码,来实现自己的需求.但是关于liferay的开发资料中文的很少关于liferay的基础知识,大家可以百度学习一下,再来看下边的例子 首先需要 ...

  8. DBUtils 增删改查例子

    sql CREATE TABLE [dbo].[Person] ( , ) NOT NULL , ) COLLATE Chinese_PRC_CI_AS NULL , [age] [int] NULL ...

  9. JSP的一个增删改查例子和总结

    总结的几点: 1.在jsp中注意<%! %>声明代码块中的变量只会在项目开始的时候第一次运行jsp的时候执行一遍,有点类似于java类中的static代码块,所以如果是会改变的值不应该声明 ...

随机推荐

  1. 一个糟糕的Erlang练习题

    好吧,用的语法很糟糕...但是至少是做了练习. 题目 %The sequence of triangle numbers is generated by adding the natural numb ...

  2. configure new linux

    vim   http://www.cnblogs.com/wswang/p/5088078.html zsh  sh -c "$(curl -fsSL https://raw.github. ...

  3. mysql 时间函数

    select UNIX_TIMESTAMP(Now());#获取unix时间戳1436430994 ::"时间形式

  4. C++ map 映照容器

    map映照容器的元素数据是一个键值和一个映照数据组成的,键值与映照数据之间具有一一映照的关系. map映照容器的数据结构是采用红黑树来实现的,插入键值的元素不允许重复,比较函数只对元素的键值进行比较, ...

  5. Ognl基本使用

    ---恢复内容开始--- Ognl默认是从“根”中取数据的 下面Demo中用的是 Ognl.getValue(String expression, Map context, Object root) ...

  6. PRML Chapter 2. Probability Distributions

    PRML Chapter 2. Probability Distributions P68 conjugate priors In Bayesian probability theory, if th ...

  7. 我对 impress.js 源码的理解

    源码看了两天,删掉了一些优化,和对 ipad 的支持,仅研究了其核心功能的实现,作以下记录. HTML 结构如下: <!doctype html> <html lang=" ...

  8. vm虚拟机自定义安装centOS找不到网卡

    问题:自定义简化安装后执行ifconfig无法找到eth0网卡 1.查看eth0网络配置: [root@minion1 ~]# cat /etc/sysconfig/network-scripts/i ...

  9. MongoDB的快速手动安装

    上一篇文章<MongoDB.WebIDE:升级版的Mongodb管理工具>漏了点东西:就是关于MongoDB主从库的安装配置和启动.网上关于MongoDB的安装有大量的文章供大家学习.我这 ...

  10. 超常用的PHP正则表达式收集整理

    以下就是对超常用的PHP正则表达式进行的收集整理,为了方便大家更快更好的掌握php正则表达式. 一.表单验证匹配验证账号,字母开头,允许 5-16 字节,允许字母数字下划线:^[a-zA-Z][a-z ...