一、添加/删除请求开始事件的方法: 
Sys.WebForms.PageRequestManager.instance.add_beginRequest(beginRequestHandler) 
Sys.WebForms.PageRequestManager.instance.remove_beginRequest(beginRequestHandler) 
参数beginRequestHandler指定当请求开始之前要调用的函数。

例:

Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 
function BeginRequestHandler(sender, args) 

//添加你想做的事情 
}

函数参数args是Sys.WebForms.BeginRequestEventArgs类的一个实例。 
BeginRequestEventArgs类包含两个成员 
1、postBackElement 属性,发出触发请求的HTML对象。如: var elem = arg.get_postBackElement(); 
2、request 属性,获取当前请求的实例对象。如: var request = arg.get_request(); 
返回值是一个Sys.Net.WebRequest类型的实例,这里我们对它不做过多的讲述,请读者查阅更多的资料。

二、添加/删除请求结束的代码: 
Sys.WebForms.PageRequestManager.instance.add_endRequest(endRequestHandler) 
Sys.WebForms.PageRequestManager.instance.remove_endRequest(endRequestHandler) 
参数endRequestHandler 指定当请求结束之后要调用的函数。例: Sys.WebForms.PageRequestManager.getInstance().add_endRequest 
(EndRequestHandler); 
function EndRequestHandler(sender, args) 

//你想添加的代码 

函数参数args是Sys.WebForms.EndRequestEventArgs类的实例。利用它可以获取请求期间发生的异常,以及请求返回的response对象。关于这 个类的详细信息请查看其帮助,由于篇幅问题,这里不再过多的说它。

三、演示实例
这个实例使用VS2005开发,注意还需要安装AJAX插件,插件名字是:ASPAJAXExtSetup.msi,可以到微软官方网站下载,也可以搜索一下,就近下载,安装之后会自动在VS2005工具箱上增加相关选项卡:

相关aspx的代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="AjaxDemo.aspx.cs" Inherits="AjaxDemo" %>

<%@ Register Assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI" TagPrefix="asp" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Ajax事件管理代码</title>
    <style type="text/css"> 
    body
    {
         font-family: Tahoma; 
    }

div.AlertStyle 
    { 
        background-color: #FFC080; 
        top: 95%; 
        left: 1%; 
        height: 20px; 
        position: absolute; 
        visibility: hidden; 
    }
</style>

</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:scriptmanager ID="ScriptManager1" runat="server"></asp:scriptmanager>
    <script type="text/javascript" language="javascript">
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler); 
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
    function BeginRequestHandler(sender, args) 
    { 
        var elem = args.get_postBackElement(); 
        ActivateAlertDiv('visible', 'AlertDiv', elem.value + '被单击, 正在获取系统时间'); 
    }

function EndRequestHandler(sender, args) 
    { 
        ActivateAlertDiv('hidden', 'AlertDiv', ''); 
    }

function ActivateAlertDiv(visstring, elem, msg) 
    { 
        var adiv = $get(elem); 
        adiv.style.visibility = visstring; 
        adiv.innerHTML = msg; 
    }

</script>

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="Server"> 
        <ContentTemplate> 
       <asp:Panel ID="Panel1" runat="server" GroupingText="Update Panel的例子"> 
        最后一次更新时间: 
        <%= DateTime.Now.ToString()%>. 
        <br /> 
        <asp:Button runat="server" ID="Button1" Text="第一个按钮" OnClick="ProcessClick_Handler" /> 
        <asp:Button runat="server" ID="Button2" Text="第二个按钮" OnClick="ProcessClick_Handler" /> 
        </asp:Panel> 
        </ContentTemplate> 
    </asp:UpdatePanel> 
        <div id="AlertDiv" class="AlertStyle"> 
        </div>
    </div>
    </form>
</body>
</html>

相关asp.cs代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class AjaxDemo : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

}

protected void ProcessClick_Handler(object sender, EventArgs e)
    {
        System.Threading.Thread.Sleep(2000);
    }
}

本文转自周金桥51CTO博客,原文链接:http://blog.51cto.com/zhoufoxcn/167002 ,如需转载请自行联系原作者

ASP.NET:为 AJAX 请求添加客户端事件相关推荐

  1. 3-服务器端添加客户端事件

    阅读目录 一:为什么要添加客户端脚本? 二:ASP.NET服务器控件可以发送两种客户端脚本 三:ASP.NET中发送客户端脚本 四:ASP.NET中发送HTML属性 五:实例 一:为什么要添加客户端脚 ...

  2. 为treeview添加客户端事件

    在使用TreeView控件时,要想取得选种的节点的信息需要返回服务器,这样的话就加重了服务器的负担. 如果仅仅是为了取的选种节点的信息,其实根本没有必要返回服务器,在客户端也可以的. .CS文件: T ...

  3. jquery ajax 延迟执行,javascript – 尝试为jQuery AJAX请求添加延迟

    我试图延迟一个 AJAX请求,以便在输入单元的最后一个键盘后2-3秒发送它. 到目前为止,我已设法延迟请求,但在2-3秒后,我收到一个请求发送给该字段中的每个密钥- 如何让jQuery取消第一个并发送 ...

  4. ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!

    在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...

  5. ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件

    在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...

  6. Js 拦截全局ajax请求

    你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...

  7. ajax请求服务器端数据

    ajax对象的属性和方法:              属性:              responseText以字符串形式获取服务器端返回信息               readyState aj ...

  8. easyui datatable ajax 加载数据,ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询...

    js前台对datagrid的定义代码,如下 mygrid = $('#mytable').datagrid({ fit: true, //自动大小 height: 'auto', rownumbers ...

  9. 创建定制的ASP.NET AJAX非可视化客户端组件

    一.简介 在本文中,我们将共同讨论如何创建一个由基类Sys.Component派生的ASP.NET AJAX非可视化客户端组件,并将展示它在Web页面中的用法. 具体说来,你将学习如何实现: ◆使用p ...

最新文章

  1. 死宅福音:乐高不怕多,智能分拣机帮你归类
  2. 麻省理工学院的牛人解说数学体系,你到哪个层次了?
  3. C++描述杭电OJ 2017.字符串统计||
  4. bootstrap table入门例子
  5. VMware下Windows Server 2012添加新磁盘
  6. 【Deep Learning 一】课程一(Neural Networks and Deep Learning),第一周(Introduction to Deep Learning)答案
  7. java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...
  8. CPU 用户时间 系统时间
  9. dw怎么打开html模板,Dreamweaver怎样使用网页模板及修改模板
  10. 微圈社群助手到底是什么?怎么用?
  11. 【unity】FPS用鼠标控制游戏对象转动
  12. 8421码,5421码,2421码,余3码特点及转换
  13. php java sha1_PHP 种的 SHA1WithRSA
  14. NanShan HTML 5与Flex是两种截然不同的技术解决方案
  15. Google封锁整个co.cc子域只能临时止血难以长治久安
  16. html导航凹凸效果,纯CSS实现底部弧度效果(凹凸圆弧)
  17. *p++与(*p)++与*(p++)
  18. 解决spa白屏方法之ssr及ssr优化
  19. android contacts电话查询头像,Androidの通过查询电话号码或ID获取联系人头像
  20. python爬虫兼职-学会Python有哪些可以做的兼职?

热门文章

  1. 休斯顿大学提出BCI-机器人(脑-外骨骼接口系统)可以改善运动恢复
  2. eeglab中文教程系列(11)-使用ICA分解数据
  3. java 数据合并算法_Java与算法之(11) - 合并排序
  4. 美国火星车失联的7分钟,高清视频传回来了
  5. B站up主硬核打造「螃蟹火星车」,遥控、拍照、测距,还能做人脸检测;网友:赛博螃克...
  6. 穿上这件全球首款「隐形衣」,做这条街最「无脸」的仔;阿里给钱给资源,求解AI安全难题...
  7. 通用权限管理系统组件 给信息管理系统加一个初始化的功能,调用存储过程
  8. Linux环境变量设置中配置文件分析(/etc/profile,~/.bashrc等)(转)
  9. 软件项目技术点(21)——自动保存和恢复
  10. Linux下mysql ERROR 1045,Mysql无法执行批处理