ASP.NET:为 AJAX 请求添加客户端事件
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的代码如下:
<%@ 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>
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);
}
}
ASP.NET:为 AJAX 请求添加客户端事件相关推荐
- 3-服务器端添加客户端事件
阅读目录 一:为什么要添加客户端脚本? 二:ASP.NET服务器控件可以发送两种客户端脚本 三:ASP.NET中发送客户端脚本 四:ASP.NET中发送HTML属性 五:实例 一:为什么要添加客户端脚 ...
- 为treeview添加客户端事件
在使用TreeView控件时,要想取得选种的节点的信息需要返回服务器,这样的话就加重了服务器的负担. 如果仅仅是为了取的选种节点的信息,其实根本没有必要返回服务器,在客户端也可以的. .CS文件: T ...
- jquery ajax 延迟执行,javascript – 尝试为jQuery AJAX请求添加延迟
我试图延迟一个 AJAX请求,以便在输入单元的最后一个键盘后2-3秒发送它. 到目前为止,我已设法延迟请求,但在2-3秒后,我收到一个请求发送给该字段中的每个密钥- 如何让jQuery取消第一个并发送 ...
- ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件!
在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...
- ASP.NET2.0中的ClientScriptManager 类用法—如何添加客户端事件
在ASP.NET2.0中,ClientScriptManager 类通过键 String 和 Type 唯一地标识脚本.具有相同的键和类型的脚本被视为重复脚本.因此,我们可以使用脚本类型来避免混淆可能 ...
- Js 拦截全局ajax请求
你是否有过下面的需求:需要给所有ajax请求添加统一签名.需要统计某个接口被请求的次数.需要限制http请求的方法必须为get或post.需要分析别人网络协议等等,那么如何做?想想,如果能够拦截所有a ...
- ajax请求服务器端数据
ajax对象的属性和方法: 属性: responseText以字符串形式获取服务器端返回信息 readyState aj ...
- easyui datatable ajax 加载数据,ASP.NET easyUI--datagrid 通过ajax请求ASP.NET后台数据的分页查询...
js前台对datagrid的定义代码,如下 mygrid = $('#mytable').datagrid({ fit: true, //自动大小 height: 'auto', rownumbers ...
- 创建定制的ASP.NET AJAX非可视化客户端组件
一.简介 在本文中,我们将共同讨论如何创建一个由基类Sys.Component派生的ASP.NET AJAX非可视化客户端组件,并将展示它在Web页面中的用法. 具体说来,你将学习如何实现: ◆使用p ...
最新文章
- 死宅福音:乐高不怕多,智能分拣机帮你归类
- 麻省理工学院的牛人解说数学体系,你到哪个层次了?
- C++描述杭电OJ 2017.字符串统计||
- bootstrap table入门例子
- VMware下Windows Server 2012添加新磁盘
- 【Deep Learning 一】课程一(Neural Networks and Deep Learning),第一周(Introduction to Deep Learning)答案
- java从端口接收数据_java - Java中通过串行端口接收数据的效率更高 - 堆栈内存溢出...
- CPU 用户时间 系统时间
- dw怎么打开html模板,Dreamweaver怎样使用网页模板及修改模板
- 微圈社群助手到底是什么?怎么用?
- 【unity】FPS用鼠标控制游戏对象转动
- 8421码,5421码,2421码,余3码特点及转换
- php java sha1_PHP 种的 SHA1WithRSA
- NanShan HTML 5与Flex是两种截然不同的技术解决方案
- Google封锁整个co.cc子域只能临时止血难以长治久安
- html导航凹凸效果,纯CSS实现底部弧度效果(凹凸圆弧)
- *p++与(*p)++与*(p++)
- 解决spa白屏方法之ssr及ssr优化
- android contacts电话查询头像,Androidの通过查询电话号码或ID获取联系人头像
- python爬虫兼职-学会Python有哪些可以做的兼职?
热门文章
- 休斯顿大学提出BCI-机器人(脑-外骨骼接口系统)可以改善运动恢复
- eeglab中文教程系列(11)-使用ICA分解数据
- java 数据合并算法_Java与算法之(11) - 合并排序
- 美国火星车失联的7分钟,高清视频传回来了
- B站up主硬核打造「螃蟹火星车」,遥控、拍照、测距,还能做人脸检测;网友:赛博螃克...
- 穿上这件全球首款「隐形衣」,做这条街最「无脸」的仔;阿里给钱给资源,求解AI安全难题...
- 通用权限管理系统组件 给信息管理系统加一个初始化的功能,调用存储过程
- Linux环境变量设置中配置文件分析(/etc/profile,~/.bashrc等)(转)
- 软件项目技术点(21)——自动保存和恢复
- Linux下mysql ERROR 1045,Mysql无法执行批处理