一、显示用户列表
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增删改查例子的更多相关文章

  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. BZOJ 3224 TYVJ 1728 普通平衡树 [Treap树模板]

    3224: Tyvj 1728 普通平衡树 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 7390  Solved: 3122 [Submit][S ...

  2. 循序渐进Linux 3:Linux下软件安装与管理

    一.源码安装 ./configuremakemake install 二.RPM包 1. 安装软件包 rpm -i [辅助选项] file1.rpm file2.rpm主选项 -i: install, ...

  3. easyui datagrid使用

    http://www.cnblogs.com/zgqys1980/archive/2011/01/04/1925775.html 加载相关js和css,因为easyui依赖jquery,所有加载eas ...

  4. c3p0配置详解

    数据库连接池C3P0框架是个非常优异的开源jar,高性能的管理着数据源,这里只讨论程序本身负责数据源,不讨论容器管理. 一.实现方式: C3P0有三种方式实现: 1.自己动手写代码,实现数据源 例如: ...

  5. linux桌面应用开发之折腾

    1 起因 需要开发一个wifi定位的应用,最先在android下搞,后来因为多网卡的原因要换平台,经历了windows,最终选择用kaili linux.debian系的linux,开发桌面应用怎么办 ...

  6. java 小记

    1.获取web项目根目录的绝对路径 request.getContextPath()  获取项目名称,如    /BiYeSheJi getServletContext().getRealPath(& ...

  7. VS2013配置Caffe卷积神经网络工具(64位Windows 7)——准备依赖库

    VS2013配置Caffe卷积神经网络工具(64位Windows 7)--准备依赖库 2014年4月的时候自己在公司就将Caffe移植到Windows系统了,今年自己换了台电脑,想在家里也随便跑跑,本 ...

  8. 数数字 (Digit Counting,ACM/ICPC Danang 2007,UVa 1225)

    思路: 利用java 特性,将数字从1 一直加到n,全部放到String中,然后依次对strring扫描每一位,使其carr[str.charAt(i)-'0']++; 最后输出carr[i],即可. ...

  9. Entity Framework DBFirst尝试

    前言 “Database First”模式我们称之为“数据库优先”,前提是你的应用已经有相应的数据库,你可以使用EF设计工具根据数据库生成数据数据类,你可以使用Visual Studio模型设计器修改 ...

  10. cocos2dx 安卓编译问题收集

    问题: 新的cocos2d-x 2.2.5 在使用Eclipse的安卓NDK 9 的编译器进行编译的时候,问题提示如下: [armeabi] Compile++ thumb: cocos_extens ...