Microsoft Asp.Net Ajax框架入门(4) 订阅事件处理函数并传递参数
来源:互联网 发布:iscroll.js官网 编辑:程序博客网 时间:2024/06/05 14:09
VS2008、C#3.0
上一篇提到了为客户端element订阅事件处理函数,本篇来看看如何在订阅的同时传递参数。
1. 使用 Function.createDelegate(instance, Function method)
调用Function.createDelegate的时候,第一个参数使用this关键字,那么在委托的函数中就可以通过this关键字引用到发起订阅的代码块所在对象的成员(包括属性和方法)。
2. 使用 Function.createCallback(Function method, context)
上一篇提到了为客户端element订阅事件处理函数,本篇来看看如何在订阅的同时传递参数。
1. 使用 Function.createDelegate(instance, Function method)
function pageLoad() {
this.userName = "guozhijian";
this.password = "pass";
var delegate = Function.createDelegate(this, btnCommitClick);
this.showAlert = function() {
alert("a");
}
Sys.UI.DomEvent.addHandler($get("btnCommit"),"click",delegate);
}
function btnCommitClick(evt) {
alert(this.userName);
alert(this.password);
this.showAlert();
}
this.userName = "guozhijian";
this.password = "pass";
var delegate = Function.createDelegate(this, btnCommitClick);
this.showAlert = function() {
alert("a");
}
Sys.UI.DomEvent.addHandler($get("btnCommit"),"click",delegate);
}
function btnCommitClick(evt) {
alert(this.userName);
alert(this.password);
this.showAlert();
}
调用Function.createDelegate的时候,第一个参数使用this关键字,那么在委托的函数中就可以通过this关键字引用到发起订阅的代码块所在对象的成员(包括属性和方法)。
2. 使用 Function.createCallback(Function method, context)
function pageLoad() {
var context = {
userName : "guozhijian",
password : "pass"
};
var callback = Function.createCallback(btnCommitKeypress, context);
Sys.UI.DomEvent.addHandler($get("btnCommit"),"keypress",callback);
}
function btnCommitKeypress(evt,context) {
alert(context.userName);
alert(context.password);
}
调用Function.createCallback的时候,第二个参数传递一个在订阅事件处理方法的作用域内定义的对象(Object)。var context = {
userName : "guozhijian",
password : "pass"
};
var callback = Function.createCallback(btnCommitKeypress, context);
Sys.UI.DomEvent.addHandler($get("btnCommit"),"keypress",callback);
}
function btnCommitKeypress(evt,context) {
alert(context.userName);
alert(context.password);
}
- Microsoft Asp.Net Ajax框架入门(4) 订阅事件处理函数并传递参数
- Microsoft Asp.Net Ajax框架入门(9) 事件
- Microsoft Asp.Net Ajax框架入门(1) 初览
- Microsoft Asp.Net Ajax框架入门(3) 操作DOM元素
- Microsoft Asp.Net Ajax框架入门(8) 枚举
- Microsoft Asp.Net Ajax框架入门(10) ScriptManager, UpdatePanel, Timer
- Microsoft Asp.Net Ajax框架入门(13) PageRequestManager
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- ASP.Net处理QueryString函数汉字参数传递错误
- Microsoft Asp.net Ajax 框架介绍
- Microsoft Asp.Net Ajax框架入门(2) 页面的客户端生命周期
- Microsoft Asp.Net Ajax框架入门(5) Object类型、String类型、Array类型
- Microsoft Asp.Net Ajax框架入门(6) Debugging and Typed Errors
- Microsoft Asp.Net Ajax框架入门(7) 名称空间、类、继承、接口
- Microsoft Asp.Net Ajax框架入门(11) 调用内部Web Services
- Microsoft Asp.Net Ajax框架入门(12) 了解异步通信层
- javascript cookies 存、取、删除实例
- Microsoft Asp.Net Ajax框架入门(2) 页面的客户端生命周期
- Windows API 函数大全
- Microsoft Asp.Net Ajax框架入门(3) 操作DOM元素
- jBPM-JPDL v3.2环境部署——发布到Tomcat + MySQL
- Microsoft Asp.Net Ajax框架入门(4) 订阅事件处理函数并传递参数
- Microsoft Asp.Net Ajax框架入门(5) Object类型、String类型、Array类型
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题(转)
- .NET 2.0 中TextBox只读时在客户端赋值后的取值问题(转)
- 不可不知的计算机领域的国际组织
- Error - cannot open input file /postproc/nlscfg.inf 错误解决
- 爱E聚合桌面
- Microsoft Asp.Net Ajax框架入门(6) Debugging and Typed Errors
- 整合