//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的更多相关文章

  1. ASP.NET Core Web API Cassandra CRUD 操作

    在本文中,我们将创建一个简单的 Web API 来实现对一个 “todo” 列表的 CRUD 操作,使用 Apache Cassandra 来存储数据,在这里不会创建 UI ,Web API 的测试将 ...

  2. 《Entity Framework 6 Recipes》中文翻译系列 (20) -----第四章 ASP.NET MVC中使用实体框架之在MVC中构建一个CRUD示例

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第四章  ASP.NET MVC中使用实体框架 ASP.NET是一个免费的Web框架 ...

  3. 创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图

    创建ASP.NET Core MVC应用程序(4)-添加CRUD动作方法和视图 创建CRUD动作方法及视图 参照VS自带的基架(Scaffold)系统-MVC Controller with view ...

  4. 通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用

    REFERENCE FROM : http://www.cnblogs.com/artech/archive/2012/07/04/Knockout-web-api.html 较之面向最终消费者的网站 ...

  5. 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 ...

  6. 【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 ...

  7. Bootstrap+Knockout.JS+ASP.Net MVC3+PetaPOCO实现CRUD操作

    Bootstrap+Knockout.JS+ASP.Net MVC3+PetaPOCO实现CRUD操作 1.需求: 1.1)页面要美观大气 1.2)前端代码要简洁清晰,要用MVC或是MVVM框架 1. ...

  8. 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 ...

  9. ASP.NET Web API 基本操作(CRUD)

    上一篇介绍了ASP.NET Web API的基本知识和原理,这一篇我们通过一个更直观的实例,对产品进行CRUD操作(Create/Read/Update/Delete)来继续了解一下它的基本应用. 创 ...

随机推荐

  1. js导出报表

    原文链接:https://blog.csdn.net/qq_37936542/article/details/78376156 需求:项目中有一个学生签到模块需要导出每天的签到数据,一开始用poi在后 ...

  2. jquery中ajax中post方法(多学习:洞悉原理,触类旁通)(函数封装思想)

    jquery中ajax中post方法(多学习:洞悉原理,触类旁通)(函数封装思想) 一.总结 1.多看学习视频:洞悉原理,触类旁通, 2.函数封装:$.post(URL,data,callback); ...

  3. tipc

    TIPC SOCKET实现分析 http://ju.outofmemory.cn/entry/158241

  4. Android中密码输入内容可见性切换

    今天在做项目的时候遇到了一个关于密码输入框可见性切换问题,上网搜了搜,这里面门道还不小,做一个记录吧,下次遇到就好解决了. 首先写了一个简单的测试工程: <LinearLayout xmlns: ...

  5. [Postgres] Filter Data in a Postgres Table with Query Statements

    We have all this data, but how do we answer questions about it? In this lesson we’ll learn how to fi ...

  6. Python 库的使用 —— dis

    dis:Disassembler of Python byte code into mnemonics. Java.Python.Ruby 1.9 这些语言均使用了栈机器型的 VM.因为是基于栈的实现 ...

  7. UITableView的一些事1

    方法1: _tableview = [[UITableView alloc]initWithFrame:CGRectMake(0, 0,self.view.bounds.size.width,self ...

  8. linux下Java程序中插入DB中国的数据乱码问题

    首先,插入到DB数据,在Linux在查询时,现场展示??. 再次,在windows连接到db上,查看的结果并非乱码. 改动Eclipse软件中的编码:如上图:windows菜单->prefere ...

  9. C++请求web service与xml解析

    1. C++解析XML的开源库 在项目中XML的解析使用的是开源的第三方库,TinyXML:这个解析库的模型通过XML文件,然后再内存中生成DOM模型,从而让我们能够非常方便的遍历这颗XML树. DO ...

  10. JVM参数调优:Eclipse启动实践

    本文主要参考自<深入理解 Java 虚拟机>.这本书是国人写的难得的不是照搬代码注释的且不是废话连篇的技术书,内容涵盖了 Java 从源码到字节码到执行的整个过程,包括了 JVM(Java ...