C# 一般处理程序 ashx文件
aspx:Web窗体设计页面。Web窗体页由两部分组成:视觉元素(html、服务器控件和静态文本)和该页的编程逻辑(VS中的设计视图和代码视图可分别看到它们对应得文件)。VS将这两个组成部分分别存储在一个单独的文件中。视觉元素在.aspx 文件中创建
ashx:.ashx文件是主要用来写web handler的。使用.ashx 可以让你专注于编程而不用管相关的web技术。我们熟知的.aspx是要做html控件树解析的,.aspx包含的所有html实际上是一个类,所有的html都是类里面的成员,这个过程在.ashx是不需要的。ashx必须包含IsReusable属性(这个属性代表是否可复用,通常为true),而如果要在ashx文件用使用Session必须实现IRequiresSessionState接口.
<%@ WebHandler Language="C#" Class="StockHandler" %>using System;
using System.Web;
using System.Data;
using BLL;
using Comm.Json;public class StockHandler : IHttpHandler
{DataSet ds = new DataSet();Mes_ProductBLL mes_ProductBLL = new Mes_ProductBLL();Mes_MaterialBLL mes_MaterialBLL = new Mes_MaterialBLL();JSONhelper json = new JSONhelper();public void ProcessRequest(HttpContext context){string output = "";string action = context.Request["action"].ToString(); switch (action){case "GetProductJson":DataTable pdt = getProductData(context);string str1 = json.DataTableToJsonWithStringBuilder(pdt);output = "{\"total\":" + pdt.Rows.Count + ",\"rows\":" + str1 + "}";break;case "GetMaterialJson":DataTable mdt = getMaterialData(context);string str2 = json.DataTableToJsonWithStringBuilder(mdt);output = "{\"total\":" + mdt.Rows.Count + ",\"rows\":" + str2 + "}";break;default:break;}context.Response.ContentType = "text/plain";context.Response.Write(output);}/// <summary>/// 获取产品数据的放法/// </summary>/// <param name="context"></param>/// <returns></returns>public DataTable getProductData(HttpContext context){DataSet ds = new DataSet();if (context.Request["SerchVale"] != null && !string.IsNullOrEmpty(context.Request["SerchVale"].ToString())){ds = mes_ProductBLL.GetList(" product_name like '%" + context.Request["SerchVale"].ToString() + "%'");}else{ds = mes_ProductBLL.GetList("");}return ds.Tables[0];}/// <summary>/// 获取原材料数据的方法/// </summary>/// <param name="context"></param>/// <returns></returns>public DataTable getMaterialData(HttpContext context){DataSet ds = new DataSet();if (context.Request["SerchVale"] != null && !string.IsNullOrEmpty(context.Request["SerchVale"].ToString())){ds = mes_MaterialBLL.GetList(" material_name like '%" + context.Request["SerchVale"].ToString() + "%'");}else{ds = mes_MaterialBLL.GetList("");}return ds.Tables[0];}public bool IsReusable{get{return false;}}}
ashx特别适合于生成动态图片,生成动态文本(纯文本,json,xml,javascript等即可)等。
ashx文件有个缺点:它处理控件的回发事件非常麻烦。处理数据的回发,通常都需要一些.aspx页的功能,只有自己手动处理这些功能(还不如直接建一个aspx文件来处理)。所以,一般使用.ashx输出一些不需要回发处理的项目即可。
C# 一般处理程序 ashx文件相关推荐
- ashx文件和HttpHandler
ashx 文件用于写web handler的..ashx必须包含IsReusable. 如下例所示.}.ashx比.aspx的好处在与不用多一个html 注意了VS2005中Web应用程序项目模板里的 ...
- ASP.NET的SEO:使用.ashx文件——排除重复内容
本系列目录 不同的链接指向的页面如果具有大量相同的内容,这种现象就会被称为"重复内容",如果一个网站的重复内容很多,搜索引擎就会认为这个网站的价值不高.所以我们应尽量避免各种重复内 ...
- ASP.NET中使用一般处理程序ashx作为后台处理实现响应get和post请求
场景 ASP.NET中新建Web网站并部署到IIS上(详细图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/107199 ...
- ASP.NET大闲话:ashx文件有啥用
在VS中右击项目,添加新项,我们找到.ashx文件在新建项模板中叫做"一般处理程序",那么这个一般处理程序用来干吗的呢? 我们可以这样地简单理解,嗯,不需搞得太复杂,它就类似.as ...
- vs2017取消起始页(设定起始页)/(.ashx文件的添加)
1.设定起始页:在要设定起始页的视图(如Index视图)上直接右击,然后点击"设为起始页" 2.取消起始页:点击菜单栏"调试",然后点击最后一行"项目 ...
- ashx 文件怎么用
本文导读:ashx是什么文件,如何创建 .ashx 文件用于写web handler的.其实就是带HTML和C#的混合文件..ashx文件类似于.aspx文件,可以通过它来调用HttpHandler类 ...
- ashx文件的几种使用
一提到Ashx文件,我们就会想到http handler以及图片加载(在之前我们一般使用ASPX或者Webservice去做),一般做法如下: Handler.ashx: <%@ WebHand ...
- ajax ashx session 为空,jquery ajax post 方式ashx文件取不到值。
我的Common.js如下 //处理一般AJAX功能. function InvokeHander(url,type,data, onSuccess, onFailure) { $.ajax({ ur ...
- 使用ashx文件响应来自JQuery的JSON请求
ashx文件是.net 2.0新加的文件类型(其实在.net 1.0下已经可用,但是没有公开提供). ashx文件和aspx文件有什么不同? 我们先新建一个ashx文件看看: <%@ Web ...
最新文章
- 《深入理解ElasticSearch》——2.4 批量操作
- Tomcat在windows中解压war包失败问题
- glVertexPointer
- 原生js追加html代码,原生js实现给指定元素的后面追加内容
- Tomcat的目录结构详解
- c语言随机产生10个30 100,c语言编写随机产生10个100~200之间整数,幷按从大到小排序...
- miinCMP企业网站系统,正开发新浪SAE云应用版
- state 全局值 设置 和获取
- HTML5 实现摄像头实时监控
- SIP软电话开发的基本条件和要点
- “去中心化”和“分布式”的区别
- 【田姓】宗谱——【郡望堂号】
- 生活娱乐 重庆乡村基挑战肯德基为何失败
- 6-8 使用函数求最大公约数 (10 分)
- 一维信号小波去噪原理及python实现示例
- rsync下行同步和inotify实时同步部署
- C#《原CSharp》第三回 万文疑谋生思绪 璃月港口见清玉
- SQL server 除法计算百分比
- java.lang.TypeNotPresentException: Type com.sht.entity.StoreEntity not present
- 小优家教v1.06/教育网站源码
热门文章
- SEO组词器:快速寻找合适关键词,优化文章!
- 全相位fft matlab,全相位FFT问题——全相位时移相位差法 请教!!!
- json转xml(附案例)
- 麦语言和python区别_麦语言编程教程之二:解决两大类问题
- ​​2021遥感应用组二等奖:基于机器学习回归算法的鄱阳湖水质遥感定量反演及时序变化监测研究
- 【微信小程序】TypeError: Cannot read property ‘get‘ of undefined Error: MiniProgramError
- du 查看使用 linux命令,Linux命令(17)du 查看文件和目录磁盘使用情况
- 小孩子学编程,教什么语言好?给家长和老师提出的十条建议
- C++ Primer Plus习题及答案-第十二章
- 【蓝桥杯单片机】DS1302模块