2011-11-04 55 views
3

我需要顯示一個消息,如「你的下載將很快開始......」然後,我需要發送一個文件與Response.WriteFile (MYFILE)。 問題是,我插入我的代碼到Page_LoadComplete,因爲我認爲asp.net將顯示和rendere基本的HTML,然後在代碼中有Response.WriteFile(strFullPath)。 問題是,沒有HTML呈現,文件傳輸正確! 我怎樣才能顯示一個簡單的HTML,如「你的下載正在進行中......」?顯示ASP.NET頁面然後發送文件Response.WriteFile

感謝

回答

3

我建議所有的本身的Response.WriteFile(struFullPath)移動到另一個頁面,什麼也不做,但寫出來的文件。然後在你的頁面上寫着「你的下載很快就會開始......」,使用one of these methods寫出一個指向執行Response.WriteFile頁面的鏈接。

如果你不想遵循的鏈接方法,它要麼:

把文件鏈接到一個iframe,它會下載

<iframe src="LINKTOTHEFILEPAGE"></iframe> 

你可以使用一些JavaScript和備份元刷新標籤。像平常一樣加載你的html內容,並將其注入<head>

<script> 
    setTimeout(function(){window.location='LINKTOTHEFILEPAGE';}, 5000); 
</script> 
<noscript> 
    <meta http-equiv="refresh" content="5; url=LINKTOTHEFILEPAGE"> 
</noscript> 

這兩種都會將下載延遲5秒。您可以根據需要進行調整。

+1

也謝謝你的鏈接。 'Sourceforge'模式是解決我的問題的好方法。 – stighy

相關問題