博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net一般处理程序对数据库的操作
阅读量:5332 次
发布时间:2019-06-15

本文共 3662 字,大约阅读时间需要 12 分钟。

一、新建一个网站,在网站下面添加一个一般处理程序DemoHandler.ashx,代码如下:

<%@ WebHandler Language="C#" Class="DemoHandler" %>using System;using System.Web;using System.Data.SqlClient;using System.Configuration;using System.Text;public class DemoHandler : IHttpHandler {    public void ProcessRequest (HttpContext context) {        context.Response.ContentType = "text/html";        //context.Response.WriteFile("1.jpg");        StringBuilder sb = new StringBuilder();//拼接字符串用        sb.Append("");        #region 拼接table        //拼接表头 表头要用标签        sb.Append("
"); //读取数据库中的数据 用三层 string str = ConfigurationManager.ConnectionStrings["Pwd"].ConnectionString; using (SqlConnection conn=new SqlConnection (str)) { conn.Open(); string sql = "select *from 用户名和密码"; using (SqlCommand cmd=new SqlCommand (sql,conn)) { using (var reader=cmd.ExecuteReader()) { while (reader.Read()) { //拼接字符串 sb.AppendFormat("
", reader.GetInt32(0), reader["UserName"], reader["PassWord"], reader["zhanming"]); } } } } sb.Append("
Id UserNumber PassWord ZhanMing 操作
{0} {1} {2} {3} 详情
"); #endregion sb.Append(""); context.Response.Write(sb.ToString()); } public bool IsReusable { get { return false; } }}

 

 

二、打开web.config,在里面将连接数据库字符串 写入:

当点击 操作的“详情”时,跳转到ShowDetil.ashx页面

代码如下:

<%@ WebHandler Language="C#" Class="ShowDetil" %>using System;using System.Web;using System.Text;using System.Configuration;using System.Data.SqlClient;using System.Data;using System.IO;public class ShowDetil : IHttpHandler {    public void ProcessRequest (HttpContext context) {        context.Response.ContentType = "text/html";        //context.Response.Write("Hello World");        StringBuilder sb = new StringBuilder();//拼接字符串        //需要拿到当前的ID        string id= context.Request.QueryString["id"];        int qid = int.Parse(id);//把他转换为整形                                //下面链接数据库来获取ID        string strLink = ConfigurationManager.ConnectionStrings["Pwd"].ConnectionString;//存放连接字符串        string sql = "select *from 用户名和密码 where id=@id ";        using (SqlDataAdapter adapter=new SqlDataAdapter (sql,strLink))        {            //传递参数            adapter.SelectCommand.Parameters.Add("@id", qid);            //在该网页中填充一个表格            DataTable dt = new DataTable();            adapter.Fill(dt);            //下面需要拼接表格了 我们可以写在一个html模板中,所以可以新建一个HTML模板            sb.AppendFormat("ID:{0}", dt.Rows[0]["Id"]);//id信息            sb.AppendFormat("UserName:{0}", dt.Rows[0]["UserName"]);            sb.AppendFormat("PassWord:{0}", dt.Rows[0]["PassWord"]);            sb.AppendFormat("ZhanMing:{0}", dt.Rows[0]["zhanming"]);        }        //把HTML模板读取出来,然后替换数据占位符        //把相对于网站根目录的路径转成磁盘上的绝对路径        string path= context.Request.MapPath("/ShowDetailTemp.html");        string textTemp=   File.ReadAllText(path);//将整个HTML模板读出来赋给textTemp        string result= textTemp.Replace(" @StrTrBody", sb.ToString());        context.Response.Write(result);    }    public bool IsReusable {        get {            return false;        }    }}

 

当鼠标点击 详情 时,显示的页面可以写在一个html 模板中,代码如下:

@StrTrBody

 

转载于:https://www.cnblogs.com/xiaoyaohan/p/9805956.html

你可能感兴趣的文章
Algorithm——何为算法?
查看>>
Web服务器的原理
查看>>
小强升职计读书笔记
查看>>
常用的107条Javascript
查看>>
#10015 灯泡(无向图连通性+二分)
查看>>
忘记root密码,怎么办
查看>>
linux设备驱动归纳总结(三):1.字符型设备之设备申请【转】
查看>>
《黑客与画家》 读书笔记
查看>>
bzoj4407: 于神之怒加强版
查看>>
mysql统计一张表中条目个数的方法
查看>>
ArcGIS多面体(multipatch)解析——引
查看>>
css3渐变画斜线 demo
查看>>
JS性能DOM优化
查看>>
设计模式 单例模式 使用模板及智能指针
查看>>
c#的const可以用于引用类型吗
查看>>
手动实现二值化
查看>>
What Linux bind mounts are really doing
查看>>
linux top命令详解
查看>>
博弈论小结
查看>>
模拟Post登陆带验证码的网站
查看>>