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

来源:互联网 发布:mac清洗灰尘 编辑:程序博客网 时间:2024/05/22 03:49

最近一直想用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 方法,里面会有更详细的代码。

原创粉丝点击