博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
asp.net一般处理程序对数据库的操作
阅读量:5331 次
发布时间: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

你可能感兴趣的文章
织梦MIP文章内容页图片适配百度MIP规范
查看>>
[Kali_BT]通过低版本SerialPort蓝牙渗透功能手机
查看>>
C语言学习总结(三) 复杂类型
查看>>
HNOI2018
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
省市县,循环组装,整合大数组
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>
posix多线程有感--线程高级编程(线程属性函数总结)(代码)
查看>>
spring-使用MyEcilpse创建demo
查看>>
DCDC(4.5V to 23V -3.3V)
查看>>
kettle导数到user_用于left join_20160928
查看>>
activity 保存数据
查看>>
typescript深copy和浅copy
查看>>
linux下的静态库与动态库详解
查看>>
hbuilder调底层运用,多张图片上传
查看>>
较快的maven的settings.xml文件
查看>>