zoukankan      html  css  js  c++  java
  • 客户端回调过程..

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

     

    回调事件的完整过程。

  • 相关阅读:
    第七周作业
    第六周作业
    第五周作业
    第四周作业
    第三周作业
    第二周作业
    第一周作业
    老鼠与盈利
    币值转换
    2015 USP-ICMC gym 100733 J. Summer Wars
  • 原文地址:https://www.cnblogs.com/lorking/p/2617925.html
Copyright © 2011-2022 走看看