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 </a>
<br />
</div>
<div id="Detail2">
<a href="javascript:ShowDetails('2');">Show Detail </a>
<br />
</div>
<div id="Detail3">
<a href="javascript:ShowDetails('3');">Show Detail </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(); switch (e.Parameter)
{
case "":
e.Result = "WCF分布式开发步步为赢(1):WCF分布式框架基础概念";
break;
case "":
e.Result = "WCF分布式开发步步为赢(2)自定义托管宿主WCF解决方案开发配置过程详解";
break;
case "":
e.Result = "WCF分布式开发步步为赢(3)WCF服务元数据交换、配置及编程开发";
break;
} }
}
上一篇:Windows 7下阻止系统关机


下一篇:前端框架之Vue(10)-全家桶简单使用实例