2011-04-28 50 views
1

我正在维护一个用ASP.NET编写的C#网站。在页面的底部是一个iframe。当用户点击一个按钮时,该iframe的源代码将使用Javascript设置为服务器上的一个页面。C#ASP.NET检测下载

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

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

回答

1

您不能检测,除了这变得更加复杂,这取决于它们的安全设置,为您的网站检测区

我会建议你只是包装内的UpdatePanel通话,并使用部分回发来触发用于显示加载小部件的下载提示和进度模板。让.net和浏览器处理它。

0

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

-1

嗯,我认为你不能这样做。 “下载文件夹”是一种浏览器功能。您应该在致电下载后立即致电hideLoadWidget()

+0

Downvoters,请评论。 – 2011-04-29 14:47:23

0

Tejs是正确的。 IE 9不再做模式对话。你可以做的是建立一个下载进度监视器,并在观察者看到数据被发送到客户端时以编程方式隐藏覆盖。

0

您是否可以使用hidden HTML form元素报告DOM event,如onload或onfocus?我在tectite.com的formmail.php中设置了一些隐藏的字段,该页面将电子邮件从页面发送到服务器上的邮箱。