<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ASPxLoadingPanel.aspx.cs" Inherits="ASPxLoadingPanel" %>
<!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 src="Scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#CheckBox1").click(function () {
if ($("#CheckBox1").attr("checked")) {
//alert("选中了");
//$("#LoadingPanel2").attr("ContainerElementID", "divLoad");
} else {
//alert("很遗憾");
//$("#LoadingPanel2").attr("ContainerElementID", ""); 好像这样不行
}
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<dx:ASPxLoadingPanel ID="ASPxLoadingPanel2" runat="server"
ClientInstanceName="LoadingPanel2" Text="加载中..."
SpriteImageUrl="~/imgs/load.gif" Theme="Mulberry" >
</dx:ASPxLoadingPanel>
<!--
ContainerElementID 设置关联那个控件(当然还可以显示图片等信息)
-->
<div style="height: 74px; background-color: #00FFFF;" id="divLoad">
</div>
<dx:ASPxButton ID="ASPxButton1" runat="server" Text="显示Loading" AutoPostBack="false"
oncustomjsproperties="ASPxButton1_CustomJSProperties">
<ClientSideEvents Click="function(s, e) {
LoadingPanel2.Show();
}" />
</dx:ASPxButton>
<br />
<dx:ASPxButton ID="ASPxButton2" runat="server" Text="停止Loading" AutoPostBack="False"
oncustomjsproperties="ASPxButton1_CustomJSProperties">
<ClientSideEvents Click="function(s, e) {
LoadingPanel2.Hide();
}" />
</dx:ASPxButton>
<br />
<asp:CheckBox ID="CheckBox1" runat="server" Text="Container" ClientIDMode="Static" />
<!--
总结:
LoadingPanel控件用于在回调服务器时在页面上展示的一个提示控件。
可通过 LoadPanel.Show()进行展示。
默认情况下,LoadingPanle是显示在网页正中的,如果更新的只是一个
局部的Panle或Div,则可以指定LoadingPanel的ContainerElementID,
显示时会在指定Control的上方。如
ASPxLoadingPanel1.ContainerElementID = "divLoad";
-->
</div>
</form>
<p>
ASPxLoadingPanel在前台可以用客户端名.Show().Hide()两个方法来显示隐藏,有没有在服务器端可以执行的方法或属性来显示隐藏</p>
</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 ASPxLoadingPanel : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void ASPxButton1_Click(object sender, EventArgs e)
{
// 服务器选择回延迟一个调用周期
if (this.CheckBox1.Checked)
ASPxLoadingPanel2.ContainerElementID = "divLoad";
else
ASPxLoadingPanel2.ContainerElementID = "";
}
protected void ASPxButton1_CustomJSProperties(object sender, DevExpress.Web.CustomJSPropertiesEventArgs e)
{
}
}