0

UpdateProgress 不适用于下载文件。请看下面的代码,在这段代码中我使用了 updatepabnel 和 updateprogress。

在 btngen 点击我正在下载一个 excel 文件。文件正在下载但 UpdateProgress 没有显示。如果我不会 PostBackTrigger,那么它不会下载 repot,如果 PostBackTrigger,那么它不会显示 updateprogress。请建议如何解决这个问题。我不想打开单独的弹出窗口。

<asp:UpdateProgress ID="prgbar"  runat="server" AssociatedUpdatePanelID="pnl1" DynamicLayout="true">
  <ProgressTemplate>
    <asp:Label id="lblmsg" Text="Please wait while the report generates...." runat="server"></asp:Label>
  </ProgressTemplate>
</asp:UpdateProgress>

<asp:UpdatePanel ID="pnl1" ChildrenAsTriggers="False"  runat="server" UpdateMode="Conditional">
  <ContentTemplate>
    <asp:Button ID="btngen" Text="Generate" runat="server" onclick="btngen_Click" />
  </ContentTemplate>
  <Triggers>
    <asp:PostBackTrigger ControlID="btngen"  />
  </Triggers> 
</asp:UpdatePanel>
4

1 回答 1

1

使用 javascript 显示更新进度:- 使用此 javascript 代码代码

    var updateProgress = null;

    function postbackButtonClick() {
        updateProgress = $find("<%= prgbar.ClientID %>");
        window.setTimeout("updateProgress.set_visible(true)", updateProgress.get_displayAfter());
        return true;
    }

在您的 btngen 按钮上添加 OnClientClick="return postbackButtonClick();"。希望这会起作用。将 javascript 放在 Scriptmanager 标记之后。

于 2012-03-01T10:51:19.657 回答