ASP CRUD
//UserInfoList.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>用户列表页面</title>
<meta charset="utf-8" />
<link href="tableStyle.css" rel="stylesheet" />
<script src="../jquery 3.3.1/jquery-3.3.1.js"></script>
<script>
$(function () {
$('.delCls').click(function () {
if (!confirm('确定要删除该记录吗?')) {
return false;
}
});
});
</script>
</head>
<body>
<a href="AddUserInfo.html">添加用户</a>
<table>
<tr>
<th>ID</th>
<th>名字</th>
<th>密码</th>
<th>详情</th>
<th>删除</th>
<th>编辑</th>
</tr>
$tbody
</table>
</body>
</html>
//tableStyle.css
caption
{
padding: 0 0 5px 0;
width: 700px;
font: italic 11px "Trebuchet MS" , Verdana, Arial, Helvetica, sans-serif;
text-align: right;
}
th
{
font: bold 11px "Trebuchet MS" , Verdana, Arial, Helvetica, sans-serif;
color: white;
border-right: 1px solid #C1DAD7;
border-left: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
border-top: 1px solid #C1DAD7;
letter-spacing: 2px;
text-transform: uppercase;
text-align: left;
padding: 6px 6px 6px 12px;
background: #0066AA no-repeat;
}
th.nobg
{
border-top: 0;
border-left: 0;
border-right: 1px solid #C1DAD7;
background: none;
}
td
{
border-left: 1px solid #C1DAD7;
border-right: 1px solid #C1DAD7;
border-bottom: 1px solid #C1DAD7;
background: #fff;
font-size: 11px;
padding: 6px 6px 6px 12px;
color: #4f6b72;
}
td.alt
{
background: #F5FAFA;
color: #797268;
}
th.spec
{
border-left: 1px solid #C1DAD7;
border-top: 0;
background: #fff no-repeat;
font: bold 10px "Trebuchet MS" , Verdana, Arial, Helvetica, sans-serif;
}
th.specalt
{
border-left: 1px solid #C1DAD7;
border-top: 0;
background: #f5fafa no-repeat;
font: bold 10px "Trebuchet MS" , Verdana, Arial, Helvetica, sans-serif;
color: #797268;
}
.span_link
{
cursor:pointer;
color:Black;
}
.tr_Category
{
}
.pageLink
{
color:Blue;
margin-left:2px;
margin-right:2px;
}
.tr_Category_P td
{
background-color:#EEEEFF;
}
//UserInfoList.ashx
<%@ WebHandler Language="C#" Class="UserInfoList" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Text;
using System.IO;
public class UserInfoList : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
string filePath = context.Request.MapPath("UserInfoList.html");
string fileContent = File.ReadAllText(filePath);
string conString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(conString))
{
using (SqlDataAdapter adapter = new SqlDataAdapter("select * from UserInfo", conn))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dt.Rows.Count; i++)
{
sb.AppendFormat("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td><a href='UserInfoDetail.ashx?UserId={0}'>详情</a></td><td><a href='DeleteUserInfo.ashx?UserId={0}' class='delCls'>删除</a></td><td><a href='EditUserInfo.ashx?UserId={0}&&UserName={1}&&UserPwd={2}'>编辑</a></td></tr>",
dt.Rows[i]["UserId"], dt.Rows[i]["UserName"], dt.Rows[i]["UserPwd"]);
}
fileContent = fileContent.Replace("$tbody", sb.ToString());
context.Response.Write(fileContent);
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
//AddUserInfo.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>添加用户</title>
<meta charset="utf-8" />
</head>
<body>
<form method="post" action="AddUserInfo.ashx">
名字<input type="text" name="txtName" value="" />
密码<input type="text" name="txtPwd" value="" />
<input type="submit" name="name" value="提交" />
</form>
</body>
</html>
//AddUserInfo.ashx
<%@ WebHandler Language="C#" Class="AddUserInfo" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
public class AddUserInfo : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string name = context.Request.Form["txtName"];
string pwd = context.Request.Form["txtPwd"];
string conString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection con = new SqlConnection(conString))
{
string sql = "insert into UserInfo values(@UserName,@UserPwd)";
using (SqlCommand cmd = new SqlCommand(sql, con))
{
con.Open();
cmd.Parameters.Add(new SqlParameter("@UserName",name));
cmd.Parameters.Add(new SqlParameter("@UserPwd",pwd));
if (cmd.ExecuteNonQuery()>0)
{
context.Response.Redirect("UserInfoList.ashx");
}
else
{
context.Response.Redirect("Error.html");
}
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
//UserInfoDetail.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
</head>
<body>
用户名:$name<br />
密码:$pwd<br />
</body>
</html>
//UserInfoDetail.ashx
<%@ WebHandler Language="C#" Class="UserInfoDetail" %>
using System;
using System.Web;
using System.Text;
using System.IO;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
public class UserInfoDetail : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
string filePath = context.Request.MapPath("UserInfoDetail.html");
string fileContent = File.ReadAllText(filePath);
int id;
if (int.TryParse(context.Request.QueryString["UserId"],out id))
{
string connString = ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
using (SqlDataAdapter adapter = new SqlDataAdapter("select * from UserInfo where UserId=@UserId", conn))
{
adapter.SelectCommand.Parameters.Add(new SqlParameter("@UserId", id));
DataTable dt = new DataTable();
adapter.Fill(dt);
string name = dt.Rows[0]["UserName"].ToString();
string pwd = dt.Rows[0]["UserPwd"].ToString();
fileContent = fileContent.Replace("$name", name).Replace("$pwd", pwd);
context.Response.Write(fileContent);
}
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
//DeleteUserInfo.ashx
<%@ WebHandler Language="C#" Class="DeleteUserInfo" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
public class DeleteUserInfo : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
int id = Convert.ToInt32(context.Request.QueryString["UserId"]);
string connString = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
string sql = "delete from UserInfo where UserId=@UserId";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
cmd.Parameters.Add(new SqlParameter("@UserId", id));
if (cmd.ExecuteNonQuery()>0)
{
context.Response.Redirect("UserInfoList.ashx");
}
else
{
context.Response.Redirect("Error.html");
}
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
//EditUserInfo.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
</head>
<body>
<form action="UpdateUserInfo.ashx" method="post">
<input type="hidden" name="txtId" value="$id" />
用户名:<input type="text" name="txtName" value="$name" /><br />
密码:<input type="text" name="txtPwd" value="$pwd" /><br />
<input type="submit" name="name" value="修改" />
</form>
</body>
</html>
//EditUserInfo.ashx
<%@ WebHandler Language="C#" Class="EditUserInfo" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
public class EditUserInfo : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/html";
string id = context.Request.QueryString["UserId"];
string name = context.Request.QueryString["UserName"];
string pwd = context.Request.QueryString["UserPwd"];
string filePath = context.Request.MapPath("EditUserInfo.html");
string fileContent = System.IO.File.ReadAllText(filePath);
fileContent = fileContent.Replace("$id", id).Replace("$name", name).Replace("$pwd", pwd);
context.Response.Write(fileContent);
}
public bool IsReusable {
get {
return false;
}
}
}
//UpdateUserInfo.ashx
<%@ WebHandler Language="C#" Class="UpdateUserInfo" %>
using System;
using System.Web;
using System.Data;
using System.Data.SqlClient;
public class UpdateUserInfo : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
int id = Convert.ToInt32(context.Request.Form["txtId"]);
string newName = context.Request.Form["txtName"];
string newPwd = context.Request.Form["txtPwd"];
string connString = System.Configuration.ConfigurationManager.ConnectionStrings["connStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connString))
{
string sql = "update UserInfo set UserName=@UserName,UserPwd=@UserPwd where UserId=@UserId";
using (SqlCommand cmd = new SqlCommand(sql, conn))
{
conn.Open();
cmd.Parameters.Add(new SqlParameter("@UserName", newName));
cmd.Parameters.Add(new SqlParameter("@UserPwd", newPwd));
cmd.Parameters.Add(new SqlParameter("@UserId", id));
if (cmd.ExecuteNonQuery()>0)
{
context.Response.Redirect("UserInfoList.ashx");
}
else
{
context.Response.Redirect("Error.html");
}
}
}
}
public bool IsReusable {
get {
return false;
}
}
}
//Error.html
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<meta charset="utf-8" />
</head>
<body>
服务器忙啊啊啊!!
<span style="font-size:20px;color:red;font-weight:bolder">5</span>秒钟以后自动跳转到<a href="UserInfoList.ashx">列表页面</a>
</body>
</html>
ASP CRUD的更多相关文章
- ASP.NET Core Web API Cassandra CRUD 操作
在本文中,我们将创建一个简单的 Web API 来实现对一个 “todo” 列表的 CRUD 操作,使用 Apache Cassandra 来存储数据,在这里不会创建 UI ,Web API 的测试将 ...
- 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章 ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...
- 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图
创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...
- 通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用
REFERENCE FROM : http://www.cnblogs.com/artech/archive/2012/07/04/Knockout-web-api.html 较之面向最终消费者的网站 ...
- CRUD Operations In ASP.NET MVC 5 Using ADO.NET
Background After awesome response of an published by me in the year 2013: Insert, Update, Delete In ...
- 【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API
原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 ...
- Bootstrap+Knockout.JS+ASP.Net MVC3+PetaPOCO实现CRUD操作
Bootstrap+Knockout.JS+ASP.Net MVC3+PetaPOCO实现CRUD操作 1.需求: 1.1)页面要美观大气 1.2)前端代码要简洁清晰,要用MVC或是MVVM框架 1. ...
- Asp.Net Web API 2(CRUD操作)第二课
Asp.Net Web API 2(CRUD操作)第二课 Asp.Net Web API 导航 Asp.Net Web API第一课:入门http://www.cnblogs.com/aehyok ...
- ASP.NET Web API 基本操作(CRUD)
上一篇介绍了ASP.NET Web API的基本知识和原理,这一篇我们通过一个更直观的实例,对产品进行CRUD操作(Create/Read/Update/Delete)来继续了解一下它的基本应用. 创 ...
随机推荐
- 基于 Android NDK 的学习之旅----- C调用Java
许多成熟的C引擎要移植到Android 平台上使用 , 一般都会 提供 一些接口, 让Android sdk 和 jdk 实现. 下文将会介绍 C 如何 通过 JNI 层调用 Java 的静态和非静态 ...
- Thinkphp5 Auth权限认证
Thinkphp5 Auth权限认证 一.总结 一句话总结:四表两组关系,一个多对多(权限和用户组之间),一个一对多(用户和用户组之间) 二.Thinkphp5 Auth权限认证 auth类在thin ...
- [Angular] USING ZONES IN ANGULAR FOR BETTER PERFORMANCE
Link to the artical. Zone detects any async opreations. Once an async oprations happens in Angular, ...
- arm-linux内存管理学习笔记(1)-内存页表的硬件原理
linux kernel集中了世界顶尖程序猿们的编程智慧,犹记操作系统课上老师讲操作系统的四大功能:进程调度 内存管理 设备驱动 网络.从事嵌入式软件开发工作,对设备驱动和网络接触的比較多. 而进程调 ...
- golang快速入门(练习)
1.打包和工具链 1.1 包 所有 Go 语言的程序都会组织成若干组文件,每组文件被称为一个包. ? 1 2 3 4 5 6 7 8 9 10 net/http/ cgi/ cooki ...
- 概念的理解 —— 奇点(singularity point)、第一性原理(first principle)
奇点(singularity point)一词出现在不同的环境里,对应着不同的含义: wikipedia:Singularity 文艺作品: 未来学(Futurology):比如雷·库兹韦尔的< ...
- 垃圾回收GC:.Net自己主动内存管理 上(三)终结器
垃圾回收GC:.Net自己主动内存管理 上(三)终结器 垃圾回收GC:.Net自己主动内存管理 上(一)内存分配 垃圾回收GC:.Net自己主动内存管理 上(二)内存算法 垃圾回收GC:.Net自己主 ...
- hbase 从hdfs上读取数据到hbase中
<dependencies> <dependency> <groupId>org.apache.hbase</groupId> <artifact ...
- android studio 各种问题 应该能帮助到你们
1. you can import your settings from a previous version of Studio 可以导入您的设置从先前版本的工作室 2. I want to imp ...
- Maven打包不打test,Maven中-DskipTests和-Dmaven.test.skip=true的区别
在使用mvn package进行编译.打包时,Maven会执行src/test/java中的JUnit测试用例, 有时为了跳过测试,会使用参数-DskipTests和-Dmaven.test.skip ...