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

    技术2022-05-11  38

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


    最新回复(0)