更新进度条不能与postbacktrigger一起使用

时间:2017-07-27 07:57:31

标签: javascript jquery asp.net updateprogress

我在主页面上有更新进度,无论何时刷新内容页面或在回发时显示加载程序,但在我的内容页面上,一切都正常工作,下载按钮,点击时加载程序不会被禁用。

这是母版页:

<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 个答案:

答案 0 :(得分:0)

对于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";