WebForm_DoCallback定义

dev*_*per 10 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) 
Run Code Online (Sandbox Code Playgroud)

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

Stu*_*egg 10

WebForm_DoCallback似乎是GetCallbackEventReference的客户端副本.它使用相同的参数生成,如下所示:

target:处理客户端回调的服务器Control的名称.控件必须实现ICallbackEventHandler接口并提供RaiseCallbackEvent方法.

argument:从客户端脚本传递到服务器RaiseCallbackEvent方法的参数.

clientCallback:接收成功服务器事件结果的客户端事件处理程序的名称.

context:在启动回调之前在客户端上评估的客户端脚本.脚本的结果将传递回客户端事件处理程序.

clientErrorCallback:在服务器事件处理程序中发生错误时接收结果的客户端事件处理程序的名称.

useAsync:true以异步方式执行回调; false表示同步执行回调.

clientCallbackclientErrorCallback是客户端(通常是javascript)函数,其形式为参数:

function clientCallback(returnmessage, context) {}
Run Code Online (Sandbox Code Playgroud)

其中returnmessage是从服务器(或误差)和响应上下文相同的上下文中先前通过.

参考文献:

MSDN:ClientScriptManager.GetCallbackEventReference方法

MSDN Magazine:ASP.NET中脚本回调的含义

ESRI开发者网络:页面回发和客户端回调


小智 5

我们可以看到这样的事情 -

WebForm_DoCallback('__Page',parameter,callBack,context,null,false);
Run Code Online (Sandbox Code Playgroud)

在页面资源文件中.似乎'参数'是值类型(字符串),而上下文是ref类型.无论如何,"背景"很少使用."参数"只能是一个字符串,因此您可能需要将多个值组合到其中,然后在服务器上将其分开.当数据传输到服务器端时,将创建相对类(作为接口' ICallbackEventHandler ' 的子类),并且将调用处理程序方法:

public void RaiseCallbackEvent(string eventArgument)
{
   //deal with the eventArgument( the "parameter")        
}
Run Code Online (Sandbox Code Playgroud)

之后,另一个方法继续并在响应中返回一个字符串..

public string GetCallbackResult()
{
    //return command;
}
Run Code Online (Sandbox Code Playgroud)

最后,异步进程引发了回调函数(在本例中为" callBack "),它应该有2个输入参数:

function callBack(returnedStuff, context) {......}
Run Code Online (Sandbox Code Playgroud)

这就是它的工作原理但是我不知道javascript函数"WebForm_DoCallback"的定义在哪里,因此它可能无法在非Windows计算机上运行.