C#ASP.NET检测下载

时间:2011-04-28 20:59:05

标签: c# asp.net

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

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

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

5 个答案:

答案 0 :(得分:1)

根据为您的网站检测到的区域的安全设置,您无法检测到这种情况会变得更加复杂

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

答案 4 :(得分:-1)

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