2011-04-28 56 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中設置了一些隱藏的字段,該頁面將電子郵件從頁面發送到服務器上的郵箱。