zoukankan      html  css  js  c++  java
  • ASPxCallback组件(珍藏版)

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
          <script type="text/javascript">
          
            function GetDetailsContainer(id) {
                return document.getElementById("Detail" + id.toString());
            }
            function ShowDetails(id) {  
    
                GetDetailsContainer(id).innerHTML = "Loading…";
                Callback1.PerformCallback(id);  //回调方法,将调用服务器端注册的Callback方法。
                //1:表示第一个div (服务器端:e.Parameter = 1)
                //2:表示第二个div (服务器端:e.Parameter = 2)
                //3:表示第三个div (服务器端:e.Parameter = 3)
    
            }
            
            /*
            -------------------------------------
            Callback1.PerformCallback(parameter);
            PerformCallback方法会调用Callback1服务器端的ASPxCallback1_Callback()方法,以完成和服务器
            端的通信。所以在服务器端一定要注册ASPxCallback1_Callback方法,以完成指定的操作。
            同时,PerformCallback()中的参数可有可无,类型为string,当有参数时,服务器端可通过ASPxCallback1_Callback()
            中的 ( CallbackEventArgs e) e.Parameter来获得,并通过e.Result参数返回结果值。
            此时,就可以通过执行Client端的CallbackComplete方法来获取执行的方法。
            
            总结:
            1 向页面添加CallBack组件,并设置ClientInstanceName属性(客户端标识,如 ClientInstanceName="Callback1")。
            2 注册CallBack组件的服务器端事件ASPxCallback_Callback。
            3 注册CallBack组件的CallbackComplete事件,用来处理回调完之后的操作,并可通过参数e获取parameter和result的值。
            4 在客户端用户CallBack组件的客户端方法PerformCallback方法,以调用服务器端的ASPxCallback_Callback事件。
              代码:Callback1.PerformCallback(id)
            5 CallBack组件自动调用CallbackComplete事件,完成此次操作。
            */
            </script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       <div id="Detail1">
            <a href="javascript:ShowDetails('1');" >Show Detail 1</a>
            <br />
        </div>
        <div id="Detail2">
            <a href="javascript:ShowDetails('2');">Show Detail 2</a>
            <br />
        </div>
        <div id="Detail3">
            <a href="javascript:ShowDetails('3');">Show Detail 3</a>
            <br />
        </div>
         
            <dx:ASPxCallback ID="ASPxCallback1" runat="server" 
                ClientInstanceName="Callback1" oncallback="ASPxCallback1_Callback">
                <ClientSideEvents CallbackComplete="function(s, e) {
         var element = GetDetailsContainer(e.parameter);
            element.innerHTML = e.result;
    
    }" />
            </dx:ASPxCallback>
        
        
    <!--
    -------------------------------------------------
     CallbackComplete 方法原型:   
    function ASPxClientCallbackCompleteEventHandler( 
       source : object,  
       e : ASPxClientCallbackCompleteEventArgs 
    ) : Void;
    parameter:获取AspxCallBack进行回调的参数值。 
    result:获取回调之后的结果值。
    
    这个方法会在回调完成之后自动的调用。
    ------------------------------------------------
    -->
        
        </div>
        </form>
    </body>
    </html>
    
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    
    public partial class Default3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    
        protected void ASPxCallback1_Callback(object source, DevExpress.Web.CallbackEventArgs e)
        {
            //休息3秒,表示服务器在工作中
            System.Threading.Thread.Sleep(3000);
    
            switch (e.Parameter)
            {
                case "1":
                    e.Result = "WCF分布式开发步步为赢(1):WCF分布式框架基础概念";
                    break;
                case "2":
                    e.Result = "WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解";
                    break;
                case "3":
                    e.Result = "WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发";
                    break;
            }
    
        }
    }
  • 相关阅读:
    node.js 安装后怎么打开 node.js 命令框
    thinkPHP5 where多条件查询
    网站title中的图标
    第一次写博客
    Solution to copy paste not working in Remote Desktop
    The operation could not be completed. (Microsoft.Dynamics.BusinessConnectorNet)
    The package failed to load due to error 0xC0011008
    VS2013常用快捷键
    微软Dynamics AX的三层架构
    怎样在TFS(Team Foundation Server)中链接团队项目
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/10282777.html
Copyright © 2011-2022 走看看