一般处理程序:是一个实现System.Web.IHttpHandler接口的特殊类。任何一个实现了IHttpHandler接口的类,是作为一个外部请求的目标程序的前提:
一般用于和HTML网页互动
一、需求:根据ID查询名称
1、右键新建项目 选择【一般处理程序】后缀名 ashx
2、完成后 再新建 HTML页面(使用表单提交完成)
代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<form method="post" action="Handler1.ashx">
<div>编号:<input type="text" name="txtCode"/></div>
<div><input type="submit" name="txtId" value="查询" /></div>
</form>
</body>
</html>
3、【一般处理程序】后台代码 使用 (Request)关键词语获取 请求数据
代码

using System; using System.Collections.Generic; using System.Linq; using System.Web; using Models; using System.Data; using System.Data.SqlClient; namespace WebApplication1 { /// <summary>
/// Handler1 的摘要说明 /// </summary>
public class Handler1 : IHttpHandler { public void ProcessRequest(HttpContext context) { //得到html请求Id
string Id = context.Request["txtCode"].ToString(); string sql = $"SELECT * FROM dbo.T_BL_Unit WHERE FClientID='{Id}'"; string UnitName = string.Empty; DataTable dr = DBHelper.Query(sql, null, false); if (dr != null) { UnitName = dr.Rows[0]["UnitName"].ToString(); } context.Response.Write("名称:" + UnitName); } public bool IsReusable { get { return false; } } } }
显示结果:
二、使用【ajax】实现【一般处理程序】数据互动(需求:注册用户是否存在给予提醒)
1、新建【register.html】页面,并引起【jQuery】脚本 ;【ajax】常用属性
代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/jquery-1.12.4.js"></script>
<script type="text/javascript"> $(function () { $('#txtAccount').blur(function () { //光标离开事件
$.ajax({ type: 'post', //请求类型
url: 'CheckUser.ashx', //请求后台路径地址
dataType: 'text', //服务器返回客户端的数据类型
data: { 'account': $('#txtAccount').val() }, //提交到服务器数据,以json格式传递
success: function (msg) { //服务器返回到客户端结果数据
$("#sp").text(msg); } }); }); }) </script>
</head>
<body>
<div>
<form >
<div> 用户名:<input id="txtAccount" name="txtAccount" />
<span id="sp"></span>
</div>
<div>密码:<input type="password" name="txtPassword" /></div>
<div>
<input type="submit" value="注册" />
</div>
</form>
</div>
</body>
</html>
2、右键新建【一般处理程序:CheckUser.ashx】添加 判断代码即可
代码:

using System; using System.Collections.Generic; using System.Linq; using System.Web; using Models; using System.Data; using System.Data.SqlClient; namespace WebApplication1 { /// <summary>
/// CheckUser 的摘要说明 /// </summary>
public class CheckUser : IHttpHandler { public void ProcessRequest(HttpContext context) { string Account = context.Request["account"].ToString(); string sql = $"SELECT * FROM T_Bg_UserInfo WHERE Name='{Account}'"; DataTable dt = DBHelper.Query(sql, null, false); string msg = ""; if (dt.Rows.Count > 0) { msg = "该用户名已经被注册"; } else { msg = "可以注册该用户名"; } context.Response.Write(msg); } public bool IsReusable { get { return false; } } } }
显示结果: