以下是我在aspx页面上的代码。我试图使用asp:UpdateProgress控件使用加载图像将页面灰显。一切正常,除了asp:UpdateProgress控件永远不会完成,即使工作完成并且页面更新???我正在使用母版页。我必须遗漏一些简单的事情来结束这个过程。
<asp:UpdateProgress ID="UpdateProgress1" runat="server"
AssociatedUpdatePanelID="updatepanel1" DynamicLayout="false" DisplayAfter="0">
<ProgressTemplate>
<div id="overlay">
<div id="modalprogress">
<div id="theprogress">
<img alt="" src="ajax-loader.gif" />
</div>
</div>
</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<ajaxToolkit:AjaxFileUpload ID="AjaxFileUpload1" AllowedFileTypes="xml"
AutoStartUpload="true" MaxFileSize="30000" MaximumNumberOfFiles="1"
OnUploadComplete="AjaxFileUpload1_UploadComplete" Mode="Auto"
runat="server" ClearFileListAfterUpload="True" />
<asp:Button ID="btnReadXml" Text="Button" runat="server"
OnClick="btnReadXml_Click" />
<br />
<asp:Label ID="lblmessage" runat="server" Font-Bold="true">
</asp:Label>
<br />
<FTB:FreeTextBox ID="txtAddendum" ToolbarLayout="SelectAll, Cut, Copy,
Paste, Delete, Undo, Redo;|Bold,Italic,Underline,BulletedList"
runat="server" Height="500px" Width="100%">
</FTB:FreeTextBox>
</ContentTemplate>
</asp:UpdatePanel>
CSS:
<style>
#overlay {
position: fixed;
z-index: 99;
top: 0px;
left: 0px;
background-color: #FFFFFF;
width: 100%;
height: 100%;
filter: Alpha(Opacity=80);
opacity: 0.80;
-noz-opacity: 0.80;
}
#theprogress {
background-color: #038890;
width: 110px;
height: 24px;
text-align: center;
filter: Alpha(Opacity=100);
opacity: 1;
-noz-opacity: 1;
}
#modalprogress {
position: absolute;
top: 50%;
left: 50%;
margin: -11px 0 0 -55px;
color: white;
}
body > #modalprogress {
position: fixed;
}
</style>
答案 0 :(得分:0)
问题是您在更新面板中使用了AjaxFileUpload控件。 AjaxFileUpload控件强制完全回发 - 这是不可避免的。此控件没有异步回发,并且它们在更新面板中没有任何意义,因为可能会出现问题......
可能发生的是由AjaxFileUpload控件引起的 postback 启动UpdateProgress控件,但由于回发不是异步的,因此它永远不会结束&#34; (因为它从未异步开始,它只是一个同步回发)。