c# - 提交点击并重定向时直接下载 pdf

标签 c# javascript asp.net pdf redirect

我的系统中有一个要求,点击提交按钮后会生成 pdf 格式的报告,从而下载该报告,并且当下载 pdf 时,页面应重定向到新页面。 现在我可以使用 window.open 打开 pdf 文件的窗口,该窗口在新窗口中生成 pdf 并下载,然后旧选项卡重定向到新网址。

我需要的过程是下载应该在不打开新选项卡的情况下进行,然后页面应该重定向到新的网址。 我能够做一件事,但不能同时做两件事。

任何建议都会有帮助。

string strJSCPTText = string.Empty;

string url = clsAppConfig.SiteURL + "PDFReport.aspx?qid=" + objQ1.QId;

strJSCPTText += "window.open('" + url + "', 'popup_window', 'width=500,height=300,left=100,top=100,resizable=yes');";

strJSCPTText += "window.location.href = '" + clsAppConfig.SiteURL + "QList.aspx" + "';";

ClientScript.RegisterStartupScript(this.GetType(), "script", strJSCPTText , true);

最佳答案

您可以使用与此非常相似的解决方案。但简单地说,不使用新窗口,而是使用内联框架,即 iframe:

并且不要直接进行重定向。等待 iframe 加载完毕。要进行显示,请订阅其 onload 事件,如下所示:

即,在 iframe 的 onload 内进行重定向。

关于c# - 提交点击并重定向时直接下载 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24735819/

相关文章:

asp.net - Response.Write 在标记的特定部分

用于嵌入式系统的 C#?

c# - MySQL 参数化查询中的用户凭据无效

javascript - 在具有静态内容的 angularjs bootstrap 选项卡上处于事件状态

c# - 服务器端与客户端 Web 应用程序性能

c# - 在页面上注册/引用之前以编程方式修改嵌入式资源

c# - 编译器错误消息 : CS0103: The name 'BusinessLogic' does not exist in the current context

c# - SkipLastField 在结束组标记上调用。 GoogleProtobuf(C# 和 C++)

C# 与 COBOL 小数舍入

javascript - Mongoose .js : force always populate