Web-----》》》 一般处理程序 ashx
一般处理程序
后缀:
前台页面:.ashx
后台页面:.ashx.cs
打开方式:右键程序集--在浏览器中查看--输入url(如http://localhost:6560/firstAshx.ashx) firstAshx.ashx是一般处理程序的名称
ashx处理机制(流程):
浏览器发送请求给服务器中的IIS,IIS接收到请求就会到处理映射池中找到对应的类文件交给ASPNet.Isapid(中间处理程序) 中间处理程序再把类文件交给asp.fromwork框架,再根据ashx找到前台页面类,然后就根据前台页面类的指令集中的找到后台页面类,最后会调用后台页面类的ProcessRequest方法,执行里面的代码后返回给服务器
指令集:对我们程序员没有实际意义,编译器看到我们的这串指令集的时候,会根据CodeBehind找到我们对应的后台代码
<%@ WebHandler Language="C#" CodeBehind="firstAshx.ashx.cs" Class="一般处理程序.firstAshx" %>
一般处理程序的后台页面实现了IHttpHandler接口
在一般处理程序中的PR方法中输出图片的代码"text/html"
context.Response.ContentType = "text/html"; //输出的是html代码 也可以直接不要这句默认也是输出html代码 //输出文本是text/plain
context.Response.Write("<img src='img/1.jpg'>");
要把数据显示在浏览器中:context.Response.Write(“输入要显示的东东就ok”);
get 和post 传值
get传值的四种方式:get提交的数据会显示在url中 不安全
1.url传值,手动修改url:在路径中用(问号) ?隔开 参数与参数隔开用&连接
2.用超连接如:
<a href=”getData.ashx?Id=2&name=小明”>超连接传值</a>
3.通过js方法传值
<input type=button onclick=”go()”value=”js传值”>
<script type=”text/javascript”>
function go(){
Window.location=”getData.ashx?Id=2&name=小明”;
}
</script>
4.form表单传值 (这种很重要)
<form action=”getData.ashx”metthod=”get”>
<intput type=”text”name=”id” value=”2”>
<intput type=”text”name=”name” value=”小明”>
<input type=”submit”value=”<form>”>
</form>
注意:
1.提交的数据一定要在form表单中
2.标签的值必需要有name属性
3.Form表单中必须要有submit按钮 或提交方法
post传值:url不会显示传输的数据了,更安全
只有一种方式 form表单
和前面的form表单差不多,就是把method=”post“ 传值方式改成post
context.Request.Handler 可以取到报文头中的内容
//得到当前的请求方式 请求方式 默认是大写
String method=Context.Reqiest.HttpMethod;
String id=context.Requesst.QueryString[“id”];//获取传值过来的值 只能接收get请求发送过来的值
String id=context.Requesst.QueryString[“name”];
//获取post传值过来的值 要用Form属性
String method=Context.Reqiest.HttpMethod;
String id=context.Requesst.Form[“id”];
String method=Context.Reqiest.HttpMethod;
String id=context.Requesst.Form[“name”];
也可以用context.Requesst[“id”];接收get和post值 不需要上面用的QueryString和Form属性 但是性能没有那么高
找到模板页所对应的路径
String path=context.Server.mapPath(“/get/templ.html”);
//读取模板里面的内容
String str=system.IO.File.ReadAllText(path);
//生成连接字符串
system.text.StringBuilder sb=new System.Text.StringBuilder(200);
//把模板页里面的占位符提换
Str=str.Replace(“$(trs)”.sb.ToString());
//输出内容 响应
context.Response.Write(str);
Redirect:重定向到另外一个页面
服务器发送命令让浏览器跳转
Redirect()这个方法会做三个事情:
1.调用Clear方法 清空response.write()里面的数据
2.修改状态码为302 并且设置location
3.调用end方法 结束请求
Web-----》》》 一般处理程序 ashx的更多相关文章
- jQuery获取一般处理程序(ashx)的JSON数据
昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程 ...
- ASP.NET -- 一般处理程序ashx
ASP.NET -- 一般处理程序ashx 如果在一个html页面向服务器端请求数据,可用ashx作为后台页面处理数据.ashx适合用作数据后台处理,相当于WebForm中的aspx.cs文件或 ...
- .net mvc 站点自带简易SSL加密传输 Word报告自动生成(例如 导出数据库结构) 微信小程序:动画(Animation) SignalR 设计理念(一) ASP.NET -- WebForm -- ViewState ASP.NET -- 一般处理程序ashx 常用到的一些js方法,记录一下 CryptoJS与C#AES加解密互转
.net mvc 站点自带简易SSL加密传输 因项目需要,传输数据需要加密,因此有了一些经验,现简易抽出来分享! 请求:前端cryptojs用rsa/aes 或 rsa/des加密,后端.net ...
- Asp.net web服务处理程序(第六篇)
四.Web服务处理程序 对于Web服务来说,标准的方式是使用SOAP协议,在SOAP中,请求和回应的数据通过XML格式进行描述.在Asp.net 4.0下,对于Web服务来说,还可以选择支持Ajax访 ...
- 对ASP.NET运行机制之 一般处理程序ashx的学习
一般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展名.其中一个httpHandler接受并处理一个http请求,类比于Java中的servlet.类比于在Java中 ...
- .net Ajax与后台一般处理程序(ashx) 交互
本文主要实现无动态刷新查询后台数据功能,主要用到ajax+ashx+sqlserver进行交互. 首先需要引用Jquery: <script language="javascript& ...
- ASP.NET MVC 项目中 一般处理程序ashx 获取Session
1-在 aspx和aspx.cs中,都是以Session["xxx"]="aaa"和aaa=Session["xxx"].ToString( ...
- jQuery Ajax无刷新操作一般处理程序 ashx
//前台实例代码 aspx文件 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="ser ...
- C# web项目添加*.ashx文件后报错处理
说明:我是菜鸟,博文水平有限,仅作学习过程中的备忘笔记 1.截图信息: ———————————————————————————————————————————————————————————————— ...
随机推荐
- 超文本传输协议-HTTP/1.1
超文本传输协议-HTTP/1.1(修订版) ---译者:孙超进本协议不限流传发布.版权声明Copyright (C) The Internet Society (1999). All Rights R ...
- Linux磁盘及文件系统管理 3---- 文件系统
1 文件系统 1 操作系统通过文件系统来管理文件及数据,磁盘或分区需要创建文件系统之后才能为操作系统使用,创建文件系统的过程称为格式化 2 没有文件系统的设备称为裸设备 3 常见的文件系统有fat32 ...
- Hive 4、Hive 的安装配置(远端MyMql模式)
1.remote一体 这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务.这里用mysql的测试服务器,ip位192.168.1.214,新建hive_re ...
- hdu 5532 Almost Sorted Array(模拟)
Problem Description We are all familiar with sorting algorithms: quick sort, merge sort, heap sort, ...
- UML视图(四)状态图
以下是一个图书馆管理系统的状态图,非常典型,涵盖状态图的全部元素的使用,由于状态图相对照较简单,直接从看图就能非常好地掌握.假设想对状态图的元素严谨的概念进行了解,在图下方,有仔细的叙述. 看了上面的 ...
- 自己动手写处理器之第四阶段(1)——第一条指令ori的实现
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第11篇,我尽量每周四篇 第4章 第一条指令ori的实现 前面几章介绍了非常多预备知识,也描绘了即将要实现的OpenMIPS处 ...
- CSS架构目标
擅长CSS的Web开发人员不仅可以从视觉上复制实物原型,还可以用代码进行完美的呈现.无需使用表格.尽可能少的使用图片.如果你是个名副其实的高手,你可以快速把最新和最伟大的技术应用到你的项目中,比如媒体 ...
- codeblocks 使用指南z
1.界面风格更改 首先贴怎么普通设置出来,或者改配置文件 这是我的风格 类似于DEV-CPP里面的一个主题,看的很舒服 具体设置如下: Settings-Editor 1.代码当前行高亮 在Gener ...
- 安装rvm命令行工具
rvm是一个命令行工具,可以提供一个便捷的多版本ruby环境的管理和切换. https://rvm.io/ 如果你打算学习ruby/rails, rvm是必不可少的工具之一. 这里所有的命令都是再用户 ...
- openwrt 家用备忘