繁体   English   中英

C# ASP.NET 检测 下载

[英]C# ASP.NET Detect Download

我正在维护一个用 C# 和 ASP.NET 编写的网站。 页面底部是 iframe。 当用户单击一个按钮时,该 iframe 的源设置为 Javascript 到服务器上的一个页面。

showLoadWidget();
document.getElementById("downloadFrame").src='SdrTrendDownload.aspx';
return false;

该页面生成一个文件并允许用户下载它。 弹出下载文件框后,我想调用hideLoadWidget()以便“正在加载数据...”覆盖消失。 如何检测何时弹出下载文件框?

您无法检测到这会变得更加复杂,具体取决于为您的站点检测到的区域的安全设置

我建议您将调用包装在 updatepanel 中并使用部分回发来触发下载提示和进度模板以显示加载小部件。 让 .net 和浏览器来处理。

你不能,更不用说实际上不弹出下载文件对话框的浏览器(如 Chrome)了。 您可能应该做的只是附加到页面上的“就绪”或“加载”事件,并在该事件发生时隐藏小部件。

Tejs 是正确的。 IE 9 也不再执行模态对话框。 您可以做的是设置下载进度观察器,并在观察器看到数据正在发送到客户端时以编程方式隐藏覆盖。

您可以使用隐藏的 HTML 表单元素来报告DOM 事件,例如 onload 或 onfocus 吗? 我在 tectite.com 的 formmail.php 中设置了一些隐藏字段,它将 email 从页面发送到服务器上的邮箱。

好吧,我不认为你能做到这一点。 “下载文件框”是一种浏览器功能。 您应该在调用下载后立即调用hideLoadWidget()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM