【问题标题】:Updateprogress never stops or hides even after work is completed即使工作完成后,Updateprogress 也不会停止或隐藏
【发布时间】:2018-10-17 15:12:47
【问题描述】:

下面是我在我的 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>

【问题讨论】:

  • 在我网站的另一个页面上尝试了所有这些代码并且它工作正常,我不知道是什么阻碍了当前页面,有什么想法吗?
  • If Not Me.Page.User.Identity.IsAuthenticated Then FormsAuthentication.RedirectToLoginPage() End 如果这是在我的 page_load 中并且搞砸了整个事情,当我把它拿出来时一切正常。

标签: javascript asp.net vb.net updatepanel updateprogress


【解决方案1】:

问题在于您在更新面板中使用了 AjaxFileUpload 控件。 AjaxFileUpload 控件强制完全回发——这是不可避免的。此控件没有异步回发,并且它们在更新面板中没有意义,因为可能会出现问题...

可能发生的情况是AjaxFileUpload控件引起的postback启动了UpdateProgress控件,但是因为postback不是异步的,所以它“永远不会结束”(因为它从未异步开始,它只是同步回发)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-29
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 2016-12-07
    • 2021-03-19
    相关资源
    最近更新 更多