显示时,隐藏面板无法正确居中

时间:2008-12-03 14:13:14

标签: asp.net ajax asp.net-ajax

我有一个简单的AlwaysVisibleControlExtender,它扩展了一个包含“Loading ...”消息和动画GIF的小面板。整个过程都在UpdateProgress控件中,因此它仅在我的应用程序处理时显示。我已将它设置为显示在顶部中心。它工作正常,但我注意到它显示在它应该的位置的右​​侧。如果我稍微调整窗口大小,面板会捕捉到正确的位置。

我的猜测是它正在计算UpdateProgress控件允许渲染Panel之前的中心位置,因此Panel的宽度为零。仅在显示面板后才能正确计算中心。有解决方法吗?

更新:以下是标记:

<%@ Page Language="VB" MasterPageFile="~/Compass.master" AutoEventWireup="false" CodeFile="SubmissionPrep.aspx.vb" Inherits="SubmissionPrep" Title="Untitled Page" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajax" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    <asp:UpdatePanel ID="UpdatePanel" runat="server" UpdateMode="Always">
        <ContentTemplate>
            <%-- Data and Controls here --%>
            <asp:UpdateProgress ID="ProcessingUpdateProgress" runat="server">
                <ProgressTemplate>
                    <asp:Panel ID="ProcessingPanel" runat="server" CssClass="loading">
                        Processing...
                        <img src="images/ajax-loader.gif" alt="" />
                    </asp:Panel>
                    <ajax:AlwaysVisibleControlExtender ID="ProcessingAlwaysVisibleControlExtender" runat="server"
                        TargetControlID="ProcessingPanel" VerticalSide="Top" HorizontalSide="Center">
                    </ajax:AlwaysVisibleControlExtender>
                </ProgressTemplate>
            </asp:UpdateProgress>
        </ContentTemplate>
    </asp:UpdatePanel>
</asp:Content>

1 个答案:

答案 0 :(得分:0)

我已经在本文的帮助下实现了Progressbar,所以我没有遇到任何问题
这是很棒的文章.....并逐步解释setp,检查

http://www.codedigest.com/Articles/ASPNETAJAX/125_Using_UpdateProgress_Control_Effectively.aspx