Обновление индикатора выполнения не работает с postbacktrigger

У меня есть прогресс обновления на главной странице, которая показывает загрузчик при каждом обновлении страницы содержимого или при обратной передаче, но на моей странице содержимого все работает нормально, за исключением кнопки загрузки, где загрузчик не отключается при нажатии.

это главная страница:

<div class="container-fluid" id="body">
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:ContentPlaceHolder ID="BodyContentPlaceHolder" runat="server">
            </asp:ContentPlaceHolder>
        </ContentTemplate>
        <Triggers>
            <asp:AsyncPostBackTrigger ControlID="menuBar" />
            <asp:AsyncPostBackTrigger ControlID="MenuCategories" />
        </Triggers>
    </asp:UpdatePanel>

    <asp:UpdateProgress ID="progress" runat="server" DynamicLayout="true" DisplayAfter="0">
        <ProgressTemplate>
            <div class="ui-widget-overlay">
                <div id="dvLoading">
                </div>
            </div>
        </ProgressTemplate>
    </asp:UpdateProgress>
</div>
<script type="text/javascript">
    var updateProgress = null;
    function postbackButtonClick() {
        updateProgress = $find("<%= progress.ClientID %>");
        window.setTimeout("updateProgress.set_visible(true)", updateProgress.get_displayAfter());
        return true;
    }
</script>

это моя страница контента:

<asp:Content ID="Content2" ContentPlaceHolderID="BodyContentPlaceHolder" runat="Server">
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>
         <table style="float: right;">
            <tr>
                <td class="Asplabel"><b>No of Records:</b></td>
                <td>
                    <asp:Label ID="lblRecordsCount" runat="server" Text="" CssClass="Asplabel" Font-Bold="true"></asp:Label>
                </td>
                <td>
                        <asp:LinkButton ID="BtnDownload" ClientIDMode="Static" OnClientClick="return postbackButtonClick();" runat="server" Enabled="true" ToolTip="Download Files" CssClass="btn" style="color: #0089d0;" OnClick="BtnDownload_Click">
                        <i class="fa fa-download"></i>
                        </asp:LinkButton>
                </td>
            </tr>
        </table>
    </ContentTemplate>
    <Triggers>
        <asp:PostBackTrigger ControlID="BtnDownload"/>
    </Triggers>
    </asp:UpdatePanel>
</asp:Content>

На загрузчике страницы работает нормально, а также для других элементов управления, где происходит обратная передача, за исключением кнопки загрузки, загрузчик появляется, но не исчезает. Как я должен установить Visibilty false для кнопки загрузки после того, как происходит повторная передача?

1 ответ

Для элементов управления postbacktrigger прогресс обновления может быть показан как

Шоу:

var updateprogress = document.getElementById('<%=((UpdateProgress)Master.FindControl("UpdateProgress1")).ClientID %>');
updateprogress.style.display = "inline-block";

Спрятать:

var updateprogress = document.getElementById('<%=((UpdateProgress)Master.FindControl("UpdateProgress1")).ClientID %>');
updateprogress.style.display = "none";
Другие вопросы по тегам