ASP.NET WebForm Ajax请求Handler的经验

ajax代码

 $.ajax({
                    type: "GET",
                    url: "/AjaxHandler/GetPluginCode.ashx",
                    data: "templateid=" + templateid + "&templatepath=<%=templatePath%>&shopgroupid=" + $("#hidShopGroupID").val(),
                    cache: false,
                    success: function (msg) {
                        var results = JSON.parse(msg);
                        if (results.Key == "success") {
                              var result = results.Value;
               }
            }
})

    原则:利用对象来判断返回结果的状态(以前用字符串分割来处理,会有问题)

Handler代码

    定义输出对象

  public class JsonObj
    {
        public string Key { get; set; }
        public string Value { get; set; }
    }

  初始化结果变量

JsonObj _result = new JsonObj() { Key = "failure", Value = string.Empty };

  修改结果状态

try
{
   //逻辑代码
   _result.Key = "success";
   _result.Value = “htmlCode”;
}

  异常捕获

 catch (Exception ex)
 {
       _result.Value = ex.Message;
 }

  最后序列化输出

 JavaScriptSerializer se = new JavaScriptSerializer();
 context.Response.Write(se.Serialize(_result));

  原则:无论如何必须有输出,也就是要有客户端收到结果才能判断请求状态

时间: 2024-10-29 19:07:09

ASP.NET WebForm Ajax请求Handler的经验的相关文章

ASP.Net Web ajax请求ashx服务实现文件下载

具体功能为,在文件数据列表中选择一行,点击表格上方的下载按钮,下载文件.由于表格中不包含文件路径,只能取到在数据库表中的ID,所以具体实现就是这样:首先点击一行,获取点击的一行数据的ID,用Ajax传值到Ashx服务文件,在Ashx中根据ID取到文件路径,转换为服务器虚拟路径后返回到Web页面.在Web页面中用Ajax进行下载. 一开始尝试过直接在Ashx服务处理中response.writeFile(),结果不能下载,原因可能是因为Ajax请求,而返回的时候直接返回到了Ajax的回调函数中.于

ASP.NET中HttpApplication中ProcessRequest方法中执行的事件顺序;ASP.NET WebForm和MVC整体请求流程图

ASP.NET中HttpApplication中ProcessRequest方法中执行的事件顺序 1.BeginRequest  开始处理请求 2.AuthenticateRequest 授权验证请求,获取用户授权信息 3.PostAuthenticateRequest 获取成功 4.AunthorizeRequest 授权,一般来检查用户是否获得权限 5.PostAuthorizeRequest 获得授权 6.ResolveRequestCache 获取页面缓存结果(如果没有则执行) 7.Po

智能提示含查询多列(html+JS+handler+ HttpRemoting)一、html示列 加 JS加 请求 Handler

1 <html> 2 <head> 3 </head> 4 <body> 5 <form id="recordform" name="recordform" autocomplete="off"> 6 <table cellpadding="0" cellspacing="0" class="tablepadding"&g

ASP.NET WebForm 之 Ajax 请求后端处理

概述 ASP.NET MVC中的异步用途非常广泛,操作起来也非常简单.前台请求异步请求 Controller下的Action 方法,后端返回ActionResult 即可.但是在ASP.NET WebForm中使用异步就比较麻烦,下面介绍两种处理WebForm异步请求的形式.若前端Ajax异步请求不熟悉的请参考:http://www.w3school.com.cn/jquery/ajax_ajax.asp 通过一般处理程序的形式处理异步请求 1.新建一个WebForm 窗体 2.创建表单元素 <

ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)

前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普通的ajax请求差不多,没有深入了解:出现了这种错误,几经调试(检查后台的代码和js部分的属性设置)还是不行,让我感觉很是意外和不解.于是,决定仔细研究下ajax jsonp的使用,并将最后测试成功的学习经验和大家分享下! 首先,贴出可以成功执行的代码: (页面部分) <!DOCTYPE html

使用webform、websevice来进行ajax请求操作

通过使用webform(asp.net非mvc) .webservice 作为请求接口在前台发送ajax请求:1.前台代码: 1 $.ajax({ 2 type: "POST", 3 //方法所在页面和方法名 4 url: "../ztest.aspx/GetHtmlJson", 5 //一定要加上,不然服务端默认返回的是text/html ;charset=utf-8 格式的页面 6 contentType: "application/json; cha

jQuery+ASP.NET MVC基于CORS实现带cookie的跨域ajax请求

这是今天遇到的一个实际问题,在这篇随笔中记录一下解决方法. ASP.NET Web API提供了CORS支持,但ASP.NET MVC默认不支持,需要自己动手实现.可以写一个用于实现CORS的ActionFilterAttribute,我们就是这么实现的: public class AllowCorsAttribute : ActionFilterAttribute { private string[] _domains; public AllowCorsAttribute(string dom

asp.net mvc 使用ajax请求 控制器 (PartialViewResult)分部的action,得到一个分部视图(PartialView)的HTML,进行渲染

在asp.net mvc 使用ajax请求获取数据的时候,我们一般是返回json或者xml,然后解析这些数据进行渲染,这样会比较麻烦,可以请求一个 分部action,返回一个分部视图 直接可以渲染,不需要解析这一步. 下面是示例: 控制器类: public class HomeController : Controller { // // GET: /Home/ public ActionResult Index() { return View(); } [HttpPost] public Pa

ASP.NET MVC 使 Controller 的 Action 只接受 Ajax 请求。

首先,ajax 请求跟一般的 web 请求本质是相同的,都是 http 请求.理论上服务器端是无法区分该次请求是不是 ajax 请求的,但是,既然标题都已经说了,那么肯定是有办法做的. 在 ajax 请求的请求报文里,往往会包含这么一条:X-Requested-With = XMLHttpRequest 这在各大的 javascript 框架上也是这么做的. 而服务器端就可以根据这一点来判别,该次的请求是否是 ajax 请求. 而在 ASP.NET MVC 里,也有一个扩展方法: 1 names