【问题标题】:How to run javascript after PDF file DownloadPDF文件下载后如何运行javascript
【发布时间】:2015-01-12 12:18:28
【问题描述】:

我将 FILE 下载为 PDF,一切正常。我在运行进程之前显示加载图像,因为从数据库收集数据以制作文件可能需要几秒钟或几分钟的时间。

<p>
    <asp:LinkButton Height="40" OnClientClick="showLoading();"
        OnClick="btnDownload2_Click" runat="server" CssClass="btn btn-success" ID="LinkButton1"
        Text="Click Here to Download List of Registered Students per course">
        <span style="text-align:center"> Download List&nbsp;&nbsp;&nbsp;</span>
        <img id="Img2" style="display:none" src="../../images/ajax-loader.gif" alt="Loading" />
    </asp:LinkButton>
</p>

问题是当文件被下载时,我如何将Img2 更改回原始样式。如果不是Resonse.Write,它会在按钮事件完成后自动切换到原始样式。

这是文件下载过程......(结束部分)......

Response.Clear();
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename="+reportName+".pdf");
Response.Buffer = true;
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.BinaryWrite(bytes);
Response.End();
Response.Close();

有什么建议吗?

【问题讨论】:

  • btnDownload2_Click 是你创建的一个javascript函数,对吧?你使用 Ajax 下载它?如果是这样,在回复中,您可以执行document.getElementById('Img2').setAttribute('src','/path/you/want/'); 之类的操作
  • 不是 btnDownload2_Click 是一个服务器端函数...

标签: javascript asp.net visual-studio-2010 response.redirect


【解决方案1】:

只需添加一个查询字符串值来表示成功,然后在页面加载时检查它并添加一个类。

所以当文件下载完成时:

Response.Redirect("yourUrl" + "?Success=true");

然后在你的页面加载:

if (Request.QueryString["Success"] != null)
{
    LinkButton1.CssClass += " file-downloaded";
}

【讨论】:

  • 我使用 Response.Write 所以显示下载提示所以不知道如何在这里使用 Response.Redirect
【解决方案2】:

您的按钮已在服务器上运行,btnDownload2_Click 这是来自代码隐藏的方法,您正在回发下载。

在最后的相同方法上添加:

Page.RegisterStartupScript("change_image", "document.getElementById(""Img2"").src=""../../images/loader-finish.gif"";");

【讨论】:

  • 完成后是下载 pdf 文件,所以 Response.Write 发生,清除所有其他 javascript 函数..
  • 使用这个:silverlightfileupld.codeplex.com 它做了很多事情,比如:当所有上传完成时触发一个javascript函数。查看单个文件和整个过程的上传进度。
  • 我需要下载:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-17
  • 2019-03-06
  • 2013-07-23
  • 2021-09-04
  • 2020-01-20
相关资源
最近更新 更多