• ICallbackEventHandler使用


    后端:页面需继承ICallbackEventHandler

     protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
    
                    string strRefrence = string.Empty;
                    strRefrence = Page.ClientScript.GetCallbackEventReference(this, "arg", "ReceiveDataFromServer", "context"); // 这里ReceiveDataFromServer为客户端接收回调结果的JS方法,含一个传入参数
    
                    string strCallBack = string.Empty;
                    strCallBack = "function CallBackToTheServer(arg, context) {" + strRefrence + "};";
    
                    Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "CallBackToTheServer", strCallBack, true);  // CallBackToTheServer,JS方法,发出回调请求
    
                }
    
            }
            #region ICallbackEventHandler Members
    
            private string strTimeFormat;
    
            public string GetCallbackResult()
            {
                if (strTimeFormat != "" && strTimeFormat == "12")
                {
                    return DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss(12小时制)");
                }
                else
                {
                    return DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss(24小时制)");
                }
            }
    
            public void RaiseCallbackEvent(string eventArgument)
            {
                strTimeFormat = eventArgument;
            }
    
            #endregion

    前端:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script>
            function ReceiveDataFromServer(valueReturnFromServer) {
                document.getElementById("ServerTime").innerHTML = valueReturnFromServer;
            }
    
            function GetServerTime(format) {
                CallBackToTheServer(format, "");
            }
    
        </script>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
           
    
            <div>
                <asp:Button ID="btnShow12" runat="server" Text="获取服务器时间(12小时制)" OnClientClick="javascript:GetServerTime(12);return false;" /><br />
                <asp:Button ID="btnShow24" runat="server" Text="获取服务器时间(24小时制)" OnClientClick="javascript:GetServerTime(24);return false;" /><br />
                <br />
                <span id="ServerTime"><%= DateTime.Now.ToString("yyyy-MM-dd HHHH:mm:ss") %></span>&nbsp;
            </div>
        </form>
    </body>
    </html>
  • 相关阅读:
    【多线程】工具类汇总
    【JVM】GC日志样例解读
    【Docker】
    XXS level5
    XXS level4
    XXS level3
    XXS level2
    SQLI DUMB SERIES-6
    SQLI DUMB SERIES-5
    XXS level1
  • 原文地址:https://www.cnblogs.com/shikyoh/p/3479900.html
Copyright © 2020-2023  润新知