//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. git入门基础

    git基础 参考: 官网git基础 git 文件的生命周期 文件的生命周期图: git中的文件可以分为4个阶段. Untracked : 这是目录中没有被跟踪的文件,即不在git项目中,使用 git ...

  2. Gibbs 采样定理的若干证明

    坐标平面上的三点,A(x1,y1),B(x1,y2),C(x2,y1),假设有概率分布 p(x,y)(P(X=x,Y=y) 联合概率),则根据联合概率与条件概率的关系,则有如下两个等式: {p(x1, ...

  3. java 替换json字符串中间的引号保留两边的引号,避免json校验失败

    一.json概要 JSON(JavaScript Object Notation, JS 对象标记)-一种轻量级的数据交换标准(相对xml),独立于编程语言.具体以逗号分隔的key:value键值对的 ...

  4. python3 numpy基本用法归纳总结

    安装numpy : pip install numpy numpy数组生成方法总结 In [4]: import numpy as np #使用列表生成一个一维数组 data = [1,2,3,4,5 ...

  5. Javascript中的DOM实现显示鼠标的空间位置

    为了显示鼠标相对于浏览器的位置(相对于屏幕和页面类似),我们能够利用click事件,获得关于鼠标单击的事件对象event.这个事件对象里的clientX和clientY包括了鼠标的位置信息,所以我突发 ...

  6. js如何遍历表单所有控件

    js如何遍历表单所有控件 一.总结 一句话总结: 1.获取form表单里面的的所有元素:通过formelement.elements,这里form元素通过name属性直接定位 var fele=for ...

  7. OC常用数据类型大全解

    UI基础 OC常用数据类型 Block Block封装了一段代码,可以在任何时候执行 Block可以作为函数参数或者函数的返回值,而其本身又可以带输入参数或返回值.它和传统的函数指针很类似,但是有区别 ...

  8. layer弹框在实际项目中的一些应用

    官方介绍:layer至今仍作为layui的代表作,受众广泛并非偶然,而是这五年多的坚持,不断完善和维护.不断建设和提升社区服务,使得猿们纷纷自发传播,乃至于成为今天的Layui最强劲的源动力.目前,l ...

  9. 【u220】生日礼物

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 一对双胞胎兄妹同一天过生日,这一天,他们的朋友给他俩送来了礼物,每个人送的礼物都是2本书,一本给哥哥, ...

  10. solr 7.x 配置ikanalyzer

    一.使用支持高版本的ikanalzyer进行分词配置(尾部有文件链接) ikanalyzer最后更新是在2012年,对于高版本的lucee不支持.但网上还是有被修改过的Ikanalyzer的6.5.0 ...