2008-12-03 95 views
0

我有一個簡單的AlwaysVisibleControlExtender,它擴展了一個包含「加載...」消息和動畫GIF的小面板。整個事件在UpdateProgress控件內,所以它只在我的應用程序正在處理時顯示。我已將它設置爲顯示在頂部中心。它工作正常,但我注意到,它顯示在應該的位置的右​​側。如果我稍微調整窗口的大小,面板會對齊到正確的位置。隱藏面板顯示時不正確

我的猜測是,它正在計算UpdateProgress控件允許面板呈現之前的中心位置,因此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> 
+0

你可以發佈你的代碼..我會仔細研究。 – 2009-08-06 14:04:56

回答