zoukankan      html  css  js  c++  java
  • 使用ICallbackEventHandler 实现异步调用

     前台页面内容:

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>无标题页</title>
       
        <script  language="javascript" type="text/javascript">
            function callServer()
            {
              var context=document.getElementById("txtMessage").value;         
              dos(context);
            }

            //处理返回的数据
            function ReceiveServerData(text)
            {           
              document.getElementById("txtResult").value=text;;
              alert(text);
            }
        
        </script>
       
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <input type="text" id="txtMessage" />
        <input type="button" onclick="callServer();" value="callServer" />
       Result: <input  type="text" id="txtResult" />
        </div>
         </form>
    </body>
    </html>

    后台的代码:

    public partial class YTest : System.Web.UI.Page,ICallbackEventHandler
        {
            private string result;


            protected void Page_Load(object sender, EventArgs e)
            {
                //if (!Page.IsPostBack)
                //{
                //    string cbReference = Page.ClientScript.GetCallbackEventReference(this, "context", "ReceiveServerData", "");   //获取一个对客户端函数的引用;调用该函数时,将启动一个对服务器端事件的客户端回调。
                //    string callbackScript = "function dos(context){" + cbReference + ";}";                                        //注册客户端方法
                //    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "dos", callbackScript, true);                  //向客户端写入脚本块

                //}

              
            }

           

    下面是继承实现ICallbackEventHandler的两个方法:


            /// <summary>
            /// 处理回调事件。 
            /// </summary>
            /// <param name="text"></param>
            public void RaiseCallbackEvent(string context)
            {
                result = "客户端在[" + DateTime.Now.ToString() + "]传送来了" + context;
            }
            
            /// <summary>
            /// 返回回调事件的结果。 
            /// </summary>
            /// <returns></returns>
            public string GetCallbackResult()
            {
                return result;
            }
           
        }

  • 相关阅读:
    5G NR系列(四)物理下行共享信道(PDSCH)物理层过程详解
    5G NR系列(三)PDSCH的解调参考信号(DM-RS)
    Mac上重装pycharm打不开的解决方法
    Oracle parallel理解
    V$ASM_DISKGROUP视图信息解读
    深入了解 Oracle Flex ASM 及其优点
    使用typora和印象笔记高效输出
    Centos7.6部署k8s 集群
    DBA日常职责
    利用DCLI命令实现跨机器检查
  • 原文地址:https://www.cnblogs.com/wz327/p/1731948.html
Copyright © 2011-2022 走看看