好的,请耐心等我。我有一个umbraco站点,其中嵌入了一个外部控件(ascx文件和dll)。
我提到它的umbraco,以便您知道我们无法控制页面生命周期的大多数方面,否则它不重要。
控件显示在iframe中的模态弹出窗口中,它只是一个表单。当您提交表单时,会在后面的代码中发送一封电子邮件,然后我想触发PDF下载,几秒钟后关闭模式弹出窗口。
到目前为止,这证明是不可能的。似乎Response.End()似乎打断了控制回发。我也试过Response.Flush()或尝试没有它完全。没有任何效果。
有没有办法触发下载然后继续回发?我尝试重定向,但我得到一个重定向错误,这是有道理的,在response.End()之后,它无法重定向。
我还尝试了一个仅限jQuery的解决方案(jQuery.fileDownload.js)但由于Umbraco的限制(无法在页面上添加cookie标头)而无法正常工作。
这里没有选项。 任何建议都非常受欢迎
答案 0 :(得分:1)
例如,您可以尝试将管理下载的代码移动到独立控件(或httphandler),并在表单提交中从js调用它
$("#yourform").submit(function() {
$('<form action="/pathtoyourhandler.ashx" method="POST"></form>')
.appendTo('body').submit().remove();
});
(这是我们umbraco项目的实际代码)