• 客户端回调过程..


    首先客户端有个触发回到的事件,在这我把它设置成按钮的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);
    }

     

    回调事件的完整过程。

  • 相关阅读:
    扑克牌顺子
    数组转 二叉树 ,并且输出二叉树的右视图
    数组中逆序对(归并排序思想)
    链表数字加和
    回文数字
    数组中 只出现一次的数
    判断是否有从根节点到叶子节点的节点值之和等于 sum
    双指针求 3个数和 为0的 数
    vue项目将css,js全部打包到html文件配置
    webpack4配置优化
  • 原文地址:https://www.cnblogs.com/lorking/p/2617925.html
Copyright © 2020-2023  润新知