触发从.NET中的iFrame下载

时间:2012-11-15 10:30:15

标签: jquery redirect iframe popup response.write

好的,请耐心等我。我有一个umbraco站点,其中嵌入了一个外部控件(ascx文件和dll)。

我提到它的umbraco,以便您知道我们无法控制页面生命周期的大多数方面,否则它不重要。

控件显示在iframe中的模态弹出窗口中,它只是一个表单。当您提交表单时,会在后面的代码中发送一封电子邮件,然后我想触发PDF下载,几秒钟后关闭模式弹出窗口。

到目前为止,这证明是不可能的。似乎Response.End()似乎打断了控制回发。我也试过Response.Flush()或尝试没有它完全。没有任何效果。

有没有办法触发下载然后继续回发?我尝试重定向,但我得到一个重定向错误,这是有道理的,在response.End()之后,它无法重定向。

我还尝试了一个仅限jQuery的解决方案(jQuery.fileDownload.js)但由于Umbraco的限制(无法在页面上添加cookie标头)而无法正常工作。

这里没有选项。 任何建议都非常受欢迎

1 个答案:

答案 0 :(得分:1)

例如,您可以尝试将管理下载的代码移动到独立控件(或httphandler),并在表单提交中从js调用它

$("#yourform").submit(function() {
    $('<form action="/pathtoyourhandler.ashx" method="POST"></form>')
    .appendTo('body').submit().remove();
});

(这是我们umbraco项目的实际代码)