//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. RocketMQ 安装详细说明

    原文:RocketMQ 安装详细说明 目录 本文导读 环境说明 RocketMQ 下载 从 Apache 下载 从 GitHub 下载 RocketMQ 安装 文件上传 项目解压 编译部署 Rocke ...

  2. Android的事件分发

    1. Touch事件和绘制事件的异同之处 Touch事件和绘制事件非常相似,都是由ViewRoot派发下来的,可是不同之处在绘制事件是由应用中的某个View发起请求,一层一层上传到ViewRoot.再 ...

  3. [tmux] Customize tmux with tmux.conf

    You can modify tmux's behavior with your tmux configuration file, .tmux.conf. You can use your tmux ...

  4. linux文件管理小结之自己定义more

    1.more命令功能 more命令用于查看内容超过一屏的文本(相似于cat) 基本功能: 1.输入backspace :内容翻一屏 2.输入enter : 内容翻一行 3.输入q:退出 4.实时显示已 ...

  5. SPOJ4491. Primes in GCD Table(gcd(a,b)=d素数,(1&lt;=a&lt;=n,1&lt;=b&lt;=m))加强版

    SPOJ4491. Primes in GCD Table Problem code: PGCD Johnny has created a table which encodes the result ...

  6. thinkphp5多级控制器是什么?怎么使用?

    thinkphp5多级控制器是什么?怎么使用? 一.总结 1.多级控制器是让控制器的级数变成多级,也就是controller目录下可以新建其它目录. 2.使用的话注意目录下的控制的的命名空间(加上目录 ...

  7. 从 BM 到 RBM

    1. 拓扑结构上 如下图示,在拓扑结构上,RBM(受限的玻尔兹曼机)与 BM(玻尔兹曼机)的最大区别在于: RBM 取消了可见层的层内连接以及隐含层的层内连接,主要在于 BM 的层内连接使得其学习过程 ...

  8. Oauth入门学习

    在一些网站总是看到调用其他网站的信息的实例,比如在人人网中导入MSN联系人,在Facebook中导入gmail,yahoo mail好友,第三方网站不需要总知道你的密码,对于应用的授权完全交给你自己, ...

  9. UE4.5.0的Kinect插件(Plugin)<一>

    声明:所有权利保留. 转载必须说明出处:http://blog.csdn.net/cartzhang/article/details/43193431 UE4 Plugin,在UE4的官网,放出了有个 ...

  10. NOIP模拟 Work - 二分 + 树状数组 / ???

    题目分析 如果没有最后的注意事项,此题就是二分裸题.有了注意事项,会有两种思路: 在线:二分天数t,并在主席树上求1~t天中大于d(浪费的时间)的时间之和以及数量,答案即为:sum - d * cnt ...