• 客户端回调过程..


    首先客户端有个触发回到的事件,在这我把它设置成按钮的Click事件:

    <input id="Button2" type="button" value="Aysn Call" onclick="button_click()" />

    1.此事件向服务器端发送请求:

    function button_click() {
    var args = document.forms[0]['TextBox1'].value;
    <%=ClientScript.GetCallbackEventReference(this,"args","GetResultFromServer","" )%>}

    this:必须实现System.Web.UI.ICallbackEventHandler这个借口

    “args":这是客服端发送过来的参数被传送给System.Web.UI.ICallbackEventHandler.RaiseCallbackEvent(System.String) 方法

    此方法在”this"中实现。

    “GetResultFromServer”:客服端 事件处理函数,它接受服务器端成功处理的结果。

    context:在客服端开始回调之前被解析的客服端脚本,结果被传送到客服端事件处理函数中,也即上面的“GetResultFromServer".

    2.服务器端接受到请求后调用ClientScript.GetCallbackEventReference(.....),处理完成后引发

    ICallbackEventHandler.RaiseCallbackEvent(string args)这个服务器回调事件:

    public void RaiseCallbackEvent(string eventArgument(=args))
    {
    if (string.IsNullOrEmpty(eventArgument))
    _result = "我来自回调,我被部分刷新";
    else
    _result = "Hi, 我来自回调,我被部分刷新";
    };

    3.服务器回调事件处理完成后,返回结果给ICallbackEventHandler.GetCallbackResult(),

    这个函数把结果放到ICallbackEventHandler的GetCallbackResult()中,它会自动发送给客户端:

    public string GetCallbackResult()
    {
    return "Hello " + _result;
    };

    4,客户端函数“GetResultFromServer”,接受结果并做处理:

    function GetResultFromServer(value,context)
    {
    document.forms[0]['TextBox1'].value= value(="Hello " + _result);
    }

     

    回调事件的完整过程。

  • 相关阅读:
    Git快速入门
    Django(一)入门基础——hello world
    JS获取浏览器地址栏的多参数值的任意值
    EasyUI 中的双击某行 并赋值给input事件
    T-SQL 创建触发器 禁止插入空值
    从xxxx检测到有潜在危险的 Request.Form 提示黄页
    Linux基本常用命令|ubuntu获取root权限
    MySQL操作数据库值mysql事务
    ASP.NET免费发送邮件|
    经典JS 判断上传文件大小和JS即时同步电脑时间
  • 原文地址:https://www.cnblogs.com/lorking/p/2617925.html
Copyright © 2020-2023  润新知