您的位置:首页 > 其它

(Dotnet2.0)ICallbackEventHandler实现无刷新操作

2007-02-05 13:29 351 查看
最近一直想用ajax作点什么。但是又不想用ajax.dll,今天遇然发现了一个Dotnet自己带的一个轻量级ajax,其实所谓轻量级只是在网上找到的一个形容词而以,我也不知道大至的说法。
ICallbackEventHandler接口,可以直接实现ajax的无刷新回调功能。该接口有两个方法。RaiseCallbackEvent和GetCallbackResult。

大至使用方法如下:
Page_Load中需要使用以下代码

string cbStrScript=Page.ClientScript.GetCallbackEventReference(this,"RaiseCallbackEvent的参数名","客户端function名称","客户端function脚本");
(重载)string cbStrScript=Page.ClientScript.GetCallbackEventReference(this,"RaiseCallbackEvent的参数名","客户端function名称","客户端function脚本","出错时引用的function名",同步或异步设定的bool值);

客户端向服务器请求的function脚本可以为以下方式生成:
string cbScript="function callServer(RaiseCallbackEvent的参数名,context){"+cbStrScript+"}"

Page.ClientScript.RegisterClientScriptBlock(this.GetType(),"客户端向服务器请求的function名称,即:callServer","客户端向服务器请求的function脚本,即:字符串cbScript的内容",是否添加脚本标记-true);

以上为ICallbackEventHandler接口的使用部份。
以下为ICallbackEventHandler接口的实现。
public void RaiseCallbackEvent(String eventArgument)
{
接收到客户端的内容(eventArgument),并处理代码
}

public string GetCallbackResult()
{
向客户端返回结果的处理代码
}

而客户端的使用则为直接引用

(发送请求)callServer("发送到服务器端的内容","发送前要运行的脚本,也可为空");
(引用回调)
function 在GetCallbackEventReference设定的客户端function名称(arg, context)
{
ary为服务器端GetCallbackResult方法return的内容
context目前我还不知道返回的是什么..
}

以上存属本人记忆使用,如果有兴趣的人可以直接在SDK2.0内搜索 ClientScriptManager.GetCallbackEventReference 方法,里面会有更详细的代码。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: