asp.net *.ashx类型的文件使用说明
解决方案:使用ashx文件。
1. 使用ASHX handlers
首先,我们要回顾要使用ASHX文件的目标,我们要做的是在一个地址中用ASHX文件并动态的返回内容。
我们将用到querystring,最后的地址格式为(例子):
http://dotnetperls.com/?file=name
开始:通过这几个步骤你可以添加一个新的ashx文件:打开你的ASP.NET web site;右击项目选择
“Add New Item...”;将显示一个“Add New Item”的对话框,选择“Generic Handler”。此时,你就
会得到一个新的ashx文件。
2.自动生成代码
我们需要注意的是在ashx文件中自动生成的代码。它定义了IHttpHandler接口的两部分。非常重要的一
部分是ProcessRequest(),它将决定这个ashx文件是被请求还是被显示。你不能修改这个继承的接口或删
除它的方法。
3.映射handler
映射一个older URL或一个路径到你的新ashx文件通常是可取的。为了向后兼容和优化搜索引擎,你获取
希望这个handler能接管一个old URL。如何来实现呢?用urlMappings;
代码如下:
<system.web>
<urlMappings enabled="true">
<add url="~/Default.aspx" mappedUrl="~/Handler.ashx"/>
</urlMappings>
URL mappings:上面的web.config配置将自动连接一个URL到另一个URL。现在,当Default.aspx被请求时
,你的ashx文件将接管。这个意思就是说,你能映射Default.aspx到你的handler。
4.添加一个图片
在这里,我们谈论到了你用ashx文件能做什么。找一个你喜欢的图片。把它添加到你的网站项目中。例如
,我选择了一个图片“Flower1.png”。下面,我们将在ashx文件中用到这个图片。
5.修改ashx文件
你的ashx文件中有两部分,在这里,我们必须修改ProcessRequest()方法。我们能改变这个文件的
ContentType和Response内容。按照下面的方法修改你的ashx文件。
~~~ ASHX code-behind file (C#) ~~~
代码如下:
using System;
using System.Web;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context) {
// Comment out these lines first:
// context.Response.ContentType = "text/plain";
// context.Response.Write("Hello World");
context.Response.ContentType = "image/png";
context.Response.WriteFile("~/Flower1.png");
}
public bool IsReusable {
get {
return false;
}
}
}
相关推荐
-
在ashx文件中使用session的解决思路
如果你要保证数据的安全性,你可以在ashx中使用session验证.如:你的index.aspx中使用jquery回调ashx数据,那么在index.aspx page_load时session["checked"]="true",在ashx中验证session是否存在. 但ashx中要获取session内容还需如下几步:①导入命名空间 复制代码 代码如下: using System; using System.Web; using System.Web.Sessi
-
asp.net中利用ashx实现图片防盗链代码
GET /Img.ashx?img=svn_work.gif HTTP/1.1 Accept: */* Referer: http://www.svnhost.cn/ Accept-Language: zh-cn UA-CPU: x86 Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727
-
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
理由:jquery简单,兼容性好且容易封装.废话不多说,马上开始我们的Jquery插件编写吧.应该有很多人写过类似的插件,我也是有些模仿flexGrid的形式. 需求:GridView显示数据,无刷新分页,无刷新排序,无刷新过滤(搜索数据),基于ASP.NET(我们这里有ashx一般处理文件来实现). 使用到技术:asp.net2.0, jquery,css 首先写的是jquery插件方面,使用的核心函数还是jquery的ajax函数,方便快捷. 复制代码 代码如下: $.ajax({ type
-
jquery向.ashx文件post中文乱码问题的解决方法
1.我的环境:vs2005,未装SP1补丁,不能创建Web应用程序,只能创建网站:jquery版本1.5.1 2.web.config中的相关配置 <globalization requestEncoding="gb2312" responseEncoding="gb2312"/> 3.jquery的Post数据的写法 复制代码 代码如下: $(document).ready(function (){ $("#btnSend").cl
-
获取ashx得到的内容(已处理好的数据)
要获取一个ashx页面的到的数据,使用以下方法: 1. 复制代码 代码如下: WebClient wc = new WebClient(); Byte[] pageData = wc.DownloadData("http://xxxx.com"); hd_num.Value = Encoding.Default.GetString(pageData); 前台代码:<asp:HiddenField ID="hd_num" runat="server&q
-
关于html+ashx开发中几个问题的解决方法
问题1:用委托字典代替switch...case. 这个问题是在处理请求时发现的,大家肯定也不愿意在自己的项目中建许多的handler来处理那么多的请求,于是就想到在一个handler里处理多个请求,ajax请求中都加一个action的参数,在handler里根据这个action做相应的处理或返回相应的数据,这里肯定没有人用if...else来判断action,大多数人都会想到用switch...case,一开始我也是用的switch,但渐渐地发现,每个case不像一个代码块,不能为其中的变量提
-
jQuery dialog 异步调用ashx,webservice数据的代码
本文用到了博客园TerryFeng的例子. Html,JS代码: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="test_jQuery_dialog_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.
-
asp.net *.ashx类型的文件使用说明
解决方案:使用ashx文件. 1. 使用ASHX handlers 首先,我们要回顾要使用ASHX文件的目标,我们要做的是在一个地址中用ASHX文件并动态的返回内容. 我们将用到querystring,最后的地址格式为(例子): http://dotnetperls.com/?file=name 开始:通过这几个步骤你可以添加一个新的ashx文件:打开你的ASP.NET web site:右击项目选择 "Add New Item...":将显示一个"Add New Item&
-
asp.net中Fine Uploader文件上传组件使用介绍
最近在处理后台数据时需要实现文件上传.考虑到对浏览器适配上采用Fine Uploader. Fine Uploader 采用ajax方式实现对文件上传.同时在浏览器中直接支持文件拖拽[对浏览器版本有要求类似IE版本必须是9或是更高的IE10].在不同浏览器中提供统一用户体验.该组件基本覆盖目前所有主流浏览器.同时没有任何第三方组件依赖.相当Clear.在服务器端已经覆盖支持了ASP.NET/ColdFusion/Java/Node.js/Perl/PHP/Python. 对上传细节类似限制文件大
-
Asp.net实现MVC处理文件的上传下载功能实例教程
上传于下载功能是程序设计中非常常见的一个功能,在ASP.NET程序开发中有着非常广泛的应用.本文就以实例形式来实现这一功能. 一.概述 如果你仅仅只有Asp.net Web Forms背景转而学习Asp.net MVC的,我想你的第一个经历或许是那些曾经让你的编程变得愉悦无比的服务端控件都驾鹤西去了.FileUpload就是其中一个,而这个控件的缺席给我们带来一些小问题.这篇文章主要说如何在Asp.net MVC中上传文件,然后如何再从服务器中把上传过的文件下载下来. 二.实现方法 1.文件上传
-
asp.net简单生成XML文件的方法
本文实例讲述了asp.net简单生成XML文件的方法.分享给大家供大家参考,具体如下: 方式一:直接使用DataSet SqlConnection conn = new SqlConnection(); conn.ConnectionString = "Server=127.0.0.1;User ID=sa;Password=sa;Database=northwind;Persist Security Info=True"; conn.Open(); SqlDataAdapter da
-
详解TypeScript使用及类型声明文件
目录 简介 Script 与 Vue3 defineProps 与 Typescript defineEmits 与 Typescript ref 与 Typescript computed 与 Typescript 事件对象 与 Typescript 模板 Ref 与 Typescript 可选链操作符 非空断言-TS TypeScript类型声明文件 基本介绍 内置类型声明文件 第三方库类型声明文件 自定义类型声明文件 简介 声明文件是以.d.ts为后缀的文件,开发者在声明文件中编写类型声明
-
Java实现显示指定类型的文件
文件作为存储数据的单元,会根据数据类型产生很多分类,也就是所谓的文件类型.在对数据文件进行操作时,常常需要根据不同的文件类型来作不同的处理.本实例实现的是读取文件夹指定类型的文件并显示到表格控件中.这对于项目开发中的文件分类起到了抛砖引玉的作用. 思路分析: 因为是窗体应用,首先看视图层.需要一个按钮控件JButton用来选择文件夹:需要一个标签控件JLabel用来显示选择的路径:需要一个标签控件JLabel提示用户输入什么:需要一个文本框控件JTextField供用户输入文件类型:需要一个表格
-
Asp.Net程序目录下文件夹或文件操作导致Session失效的解决方案
1.配置web.config <system.web> <sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="
-
ASP.NET中GridView的文件输出流方式
ASP.NET提供了许多种数据服务器控件,用于在Web页面中显示数据库中的表数据,GridView控件就是其中之一.这个控件和我们以前学过的DataGridView控件几乎是一样的,所以对GridView控件我们也并不陌生. 第一步:设置好你所需要的gridview所需要的Columns列,绑定好数据,我的第一列的数据因为数据库中保存的是"日月年时分秒"的格式,在输出的时候,我给它加了一个dataformatstring的值"{0:yyyy-MM-dd}",年月日的
-
ASP.NET实现推送文件到浏览器的方法
本文实例讲述了ASP.NET实现推送文件到浏览器的方法.分享给大家供大家参考.具体分析如下: 这里主要实现从服务器到浏览器,推送文件,提供用户下载/浏览的功能. 提示: 在AJAX UpdatePanel里面将无效.如果代码从按钮单击事件中被调用,该按钮需要在 AJAX UpdatePanel的外部. 具体代码如下: /// <summary> /// Downloads (pushes) file to the client browser. /// **** NOTE **** Canno
-
asp.net批量多选文件上传解决方案
多选文件上传,已经非常多了,选择性多了可能有时候要比较下哪个更合适,结合到项目中使用更方便才是最重要的.很多的多选上传基本上都是调用的swf文件,确实用flash 或flex开发一个多选上传的功能很方便,比如flex里内置的FileReferenceList对象本身就支持文件的多选,有这个的话就方便多了,下面要说的主要也是基于flex开发的一个多选上传功能. 主要实现的功能如下: 一.选择多个文件上传并显示单个文件的上传进度 二.显示所有文件总的上传进度 三.显示所有上传文件的总大小 四.上传前
随机推荐
- 不使用中间变量,交换int型的 a, b两个变量的值。
- 详解angular中通过$location获取路径(参数)的写法
- WINDOWS 2003服务优化批处理第1/2页
- java编程 中流对象选取规律详解
- 用Set类判断Map里key是否存在的示例代码
- .NET中获取Access新增记录Id怪现象解决方法
- CodeIgniter读写分离实现方法详解
- php中define用法实例
- 基于flush()不能按顺序输出时的解决办法
- Symfony2针对输入时间进行查询的方法分析
- Linux Shell循环中实现展示进度百分比的实现方法
- 微信小程序搭建及解决登录失败问题
- PowerShell中的TimeSpan时间差对象使用实例
- 那些年,我还在学习jquery 学习笔记
- 护卫神 主机管理系统使用说明(主机管理)
- 有关json_decode乱码及NULL的问题
- linux下实现VPS免费备份脚本
- apache+php上传大文件以上传100M为例
- 深入理解C++中的vector类的用法及特性
- Android编程实现Dialog窗体监听的方法