在新窗口中下载文件后显示消息

时间:2013-03-12 19:29:14

标签: c# javascript asp.net-mvc file download

用户填写表格以下载文件。表单结果在新窗口中加载(target =“blank”)。 MVC Controller Action在成功时返回FileResult,或在失败时返回“SelfClosingPage”视图。

这背后的目标是让用户在新页面中下载文件,如果发生任何错误,原始调用页面的url不会更改(到/ DownloadFile url),用户仍然在表单页面上而不是被定向到错误页面。

这一切都很好,除了我需要知道文件下载何时完成,因为我想1)隐藏“文件下载,请耐心等”消息,如果下载成功2)显示错误消息如果文件下载失败。

我使用Cookie执行此操作,并使用JS间隔来定期检查Cookie值。它要么从不工作,要么不再工作(我永远不会让cookie出现在原始页面上)。

请指教。我不能在我的JS中使用C#代码,因为它在页面加载时执行一次并且我试图将JS与C#代码分离,因此无法工作。

我认为我唯一的解决方案是进行ajax javascript回调,但我想避免这种情况。

更新

发现这些相关的SO链接使用了我尝试使用的相同方法。

MVC3 - File Download - Wait Status indicator

Detect when browser receives file download

更新2

它再次运作。我认为饼干的有效期不够长(虽然应该是这样)。我只是把它从10分钟(文件下载不应该花费更长时间)改为半天。

0 个答案:

没有答案