WebForm_DoCallback定义

时间:2010-06-04 19:51:33

标签: asp.net callback

WebForm_DoCallback函数的MSDN上是否有简单的解释?

我能找到的就是这篇文章http://msdn.microsoft.com/en-us/magazine/cc163878.aspx 其中包括WebForm_DoCallback的实现,但不能很好地解释参数本身。

function WebForm_DoCallback(eventTarget, eventArgument, 
eventCallback, context, errorCallback) 

就像'eventTarget'所期望的那样? 什么是'背景'? 等...

3 个答案:

答案 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

MSDN Magazine: Implications of Script Callbacks in ASP.NET

ESRI Developer Network: Page Postbacks and Client Callbacks

答案 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。