WebForm_DoCallback函数的MSDN上是否有简单的解释?
我能找到的就是这篇文章http://msdn.microsoft.com/en-us/magazine/cc163878.aspx 其中包括WebForm_DoCallback的实现,但不能很好地解释参数本身。
function WebForm_DoCallback(eventTarget, eventArgument,
eventCallback, context, errorCallback)
就像'eventTarget'所期望的那样? 什么是'背景'? 等...
答案 0 :(得分:10)
WebForm_DoCallback似乎是GetCallbackEventReference的客户端对应方。它使用相同的参数生成,如下所示:
目标:处理客户端的服务器控件的名称 打回来。控件必须实现 ICallbackEventHandler接口 并提供一个RaiseCallbackEvent 方法
参数:从客户端脚本传递到服务器的参数 RaiseCallbackEvent方法。
clientCallback :接收客户端事件处理程序的名称 服务器事件成功的结果。
context :在客户端之前评估的客户端脚本 启动回调。的结果 该脚本被传递回 客户端事件处理程序。
clientErrorCallback :接收的客户端事件处理程序的名称 在发生错误时的结果 服务器事件处理程序。
useAsync :true以异步方式执行回调;假的 同步执行回调。
clientCallback 和 clientErrorCallback 是客户端(通常是javascript)函数,其形式为参数:
function clientCallback(returnmessage, context) {}
returnmessage 是来自服务器(或错误)的响应,上下文与之前传递的上下文相同。
参考文献:
MSDN: ClientScriptManager.GetCallbackEventReference Method
答案 1 :(得分:5)
我们可以看到类似的东西 -
WebForm_DoCallback('__Page',parameter,callBack,context,null,false);
页面资源文件中的。 似乎'参数'是值类型(字符串),而上下文是ref类型。 无论如何,“背景”很少使用。 “参数”只能是一个字符串,因此您可能需要将多个值组合到其中,然后在服务器上将其分开。 当数据传输到服务器端时,将创建相对类(作为接口' ICallbackEventHandler '的子类),并且将调用处理程序方法:
public void RaiseCallbackEvent(string eventArgument)
{
//deal with the eventArgument( the "parameter")
}
之后,另一个方法继续并在响应中返回一个字符串..
public string GetCallbackResult()
{
//return command;
}
最后异步进程引发了回调函数(在这种情况下为“ callBack ”),它应该有2个输入参数:
function callBack(returnedStuff, context) {......}
这就是它的工作原理 但我不知道javascript函数“WebForm_DoCallback”的定义在哪里,因此它可能无法在非Windows计算机上运行。
答案 2 :(得分:0)
你需要在什么情况下使用它?该字符串由ClientScriptManager中的以下方法调用生成:http://msdn.microsoft.com/en-us/library/ms153110%28v=VS.100%29.aspx
使用此功能可以用来生成上述语句,而无需了解详细信息。
HTH。