1

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

我提到它是 umbraco,因此您知道我们无法控制页面生命周期的大多数方面,否则它应该没关系。

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

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

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

我还尝试了仅 jQuery 的解决方案(jQuery.fileDownload.js),但由于 Umbraco 的限制(无法在页面上添加 cookie 标头),它不起作用。

这里的选项用完了。非常欢迎任何建议

4

1 回答 1

1

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

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

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

于 2012-11-15T15:22:36.287 回答