VS2008、C#3.0
上一篇提到了为客户端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();
}
调用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)。
上一篇提到了为客户端element订阅事件处理函数,本篇来看看如何在订阅的同时传递参数。
1. 使用 Function.createDelegate(instance, Function method)

























调用Function.createDelegate的时候,第一个参数使用this关键字,那么在委托的函数中就可以通过this关键字引用到发起订阅的代码块所在对象的成员(包括属性和方法)。
2. 使用 Function.createCallback(Function method, context)




















