vs中一般处理程序*.ashx是可以处理多件事的

这两天跟着辉哥做项目。

由于我那个项目几乎就是用各种重复的语句堆起来的,

维护起来非常麻烦,

所以我要用他的项目继续写下去。

接着碰到一个问题,就是我问辉哥,是不是一个*.ashx只可以处理一个事,

辉哥说不是的,你可以用ajax穿进去数据的时候在第一个键值那设置相同的键但是不同的值。

我当时想了很久也不明白,然后我到了第二天才想明白。

例如:

我Web页面这么写:

<script type="text/javascript">
$("#button1").click(function(){
$.ajax(
           {
               type: "POST",
               url: "/ashx/a.ashx",
               async: ‘true‘,
               data: "key1=" + "first" + "a=" + "1" + "b=" + "2",
               success: function (msg) {
                   if (msg == "a1")
                   {
                       alert("aaaaaaaaaaaaaaaaaa!");
                   }
                   else if (msg == "a2") {
                       alert("bbbbbbbbbbbbbbbbbb!");
                   }
                   ......
               },
               complete: function (data) {
               },
               error: function (XMLHttpRequest, textStatus, thrownError) {
                   //window.location.reload();
                   alert(XMLHttpRequest.status);
                   alert(XMLHttpRequest.readyState);
                   alert(textStatus);
                   alert(XMLHttpRequest.responseText);
               }
});
</script>

然后我在a.ashx这么写:
public void ProcessRequest(HttpContext context)
        {
            if (context.Request["key1"] == "first")
            {
                
                //代码块,各种处理语句
                context.Response.Write("a1");
            }
            if (context.Request["key1"] == "second")
            {
                context.Response.Write("a2");
            }
            if (context.Request["key1"] == "third")
            {
                //代码块,各种处理语句
                context.Response.Write("a3");
            }
            .......
        }

我一直想不明白的是,要是每个ajax传的语句都有相同的键值,然后会不会乱了?

到最后我想明白了,是不会的。

因为只要我ajax传的第一个键值过去他只能进其中一个if里面执行,

其他的if他统统进不去,这样子就只可以执行其中符合他的代码块了,乱不起来!

时间: 2024-12-19 16:12:44

vs中一般处理程序*.ashx是可以处理多件事的的相关文章

java中的null类型---有关null的9件事

摘自 https://blog.csdn.net/qq_25077777/article/details/80174763 今天听到一个问题,java中的null类型,null竟然是一种类型 java语言中有两种类型,一种是基本类型,还有一种是引用类型.还有一个特殊的null类型即表达式null的类型,它没有名字. 因为null类型没有名字,所以不可能声明为null类型的变量或者转换为null类型. null引用是null类型表达式唯一可能的值. null引用可以转换为任意引用类型. 实际上,程

ASP.NET MVC 项目中 一般处理程序ashx 获取Session

1-在 aspx和aspx.cs中,都是以Session["xxx"]="aaa"和aaa=Session["xxx"].ToString()进行读写. 而在ashx中,Session都要使用context.Session,读写方法是这样的: context.Session["xxx"]="aaa"和aaa=context.Session["xxx"].ToString() 2-在ash

人生中最【无用】的二十件事

学会取舍,将是你人生的必修课. 丢掉这20件东西,你一定会成为更好的自己 我们之所以会觉得活的痛苦,活的乏味,根源在于你始终无法做到潇洒的放手.顾忌太多,想要的太多,最终一无所获. 你从幼稚走向成熟的过程,就是不断取舍的过程.都听过熊瞎子摘玉米的故事吧,就因为它什么都不舍得放下,只能空手而归. 要想活的潇洒,活的有质感,就要懂得对自己拥有的和想要的东西做一个规划与判断.如果对你的成长一点帮助都没有,留着只是占地方,把你留在过去的点滴里. 1.旧手机的充电器 既然已经换了新的手机,为什么还要留着旧

jQuery获取一般处理程序(ashx)的JSON数据

昨天有在开发的软件生产线生产流程,RFID扫描IC卡的数据,当中有用到jQuery获取一般处理程序(ashx)的JSON数据.今有把它写成一个小例子,望需要的网友能参考. 在网站中,创建一个一般应用程序ashx: 命名空间: using System.Data; using System.Collections.Generic; using System.Web.Script.Serialization; 输出的内容类型: context.Response.ContentType = "appl

Ajax 调用(传值)一般处理程序(.ashx)

问题:在一般处理程序(.ashx)中累加[index='b']的值 难点:前台获取JSON值后台解析 解决: //#region 把index=b的值存在JSON对象中 function AjaxGetSum() { var arr = []; $("input[index='b']").each(function () { var arrObject = {}; var tempVal = $(this).val(); if (!$.gstr.isEmpty(tempVal)) {

c#中一般处理程序中使用session

在.aspx.cs页中读写Session都是Session["***"]就可以获取或者写入.但是在一般处理程序也就是ashx页面中,再这样写的话,就会为null, 解决办法是先要添加命名空间using System.Web.SessionState; 然后再继承接口 其中:System.Web.SessionState.IReadOnlySessionState为只读会话的接口 而:System.Web.SessionState.IRequiresSessionState 为可读可写会

一般处理程序ashx结合gdi+处理图片

1 新建一般处理程序  .ashx public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain";context.Response.Write("Hello World"); } 2. 引入命名空间  using System.Drawing; 3.因为是操作图片所以把context.Response.ContentType = "

ASP.NET -- 一般处理程序ashx

ASP.NET  --   一般处理程序ashx 如果在一个html页面向服务器端请求数据,可用ashx作为后台页面处理数据.ashx适合用作数据后台处理,相当于WebForm中的aspx.cs文件或aspx.vb文件. 入门案例:html页面向ashx页面请求数据,ashx作为后台页面返回数据. 前端html页面: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" co

一般处理程序ashx的好处

[免去了普通.aspx页面的控件解析以及页面处理的过程].这个是主要的.运行起来比.aspx快很多. .ashx 这个文件特别适合于生成动态图片,生成动态文本等内容. HttpHandler和ASP.NET窗体比较,最大的好处就是轻量. HttpHandler主要处理http请求,ASP.NET窗体除了处理http请求之外还要负责生成html页面,另外为了支持服务器空间添加了很多回调的逻辑. 各有各的好处,要灵活应用,例如你要返回一段json数据,HttpHandler就更佳. ASP.NET窗