Updateprogress никогда не останавливается и не скрывается даже после завершения работы - PullRequest
0 голосов
/ 07 мая 2018

Ниже приведен код, который я имею на моей странице 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>

1 Ответ

0 голосов
/ 08 мая 2018

Проблема в том, что вы используете элемент управления AjaxFileUpload на панели обновлений. Элементы управления AjaxFileUpload заставляют выполнять полные обратные передачи - это неизбежно . Для этого элемента управления нет асинхронной обратной передачи, и нет никакого смысла в том, чтобы они находились внутри панели обновления, так как могут возникнуть проблемы ...

Вероятно, что postback , вызванный элементом управления AjaxFileUpload, запускает элемент управления UpdateProgress, но поскольку обратная передача не асинхронная, она "никогда не заканчивается" (потому что она никогда не начиналась асинхронно, это была просто синхронный постбэк).

...