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>