2009-09-10 126 views
3

任何人都可以提出一個SharePoint Web部件中提供下載文件的最佳方式嗎?該文件將根據請求動態創建,但我仍然需要顯示標準頁面以及正在下載的文件。下載Web部件和提供文件?

+0

「標準頁面」是什麼意思? – 2009-09-10 11:24:51

+0

我的意思是當不處理文件下載時顯示頁面。例如,我在頁面上有幾個表格,並提供一個「導出」選項,將用戶的數據作爲.csv提供給用戶。但是,我不希望用戶最終在空白頁面等。我所見過的所有例子只處理文件下載,並假定文件下載是從一次性的專用頁面發生的。 – Moo 2009-09-10 11:43:14

回答

0

最終,我在用戶選擇「導出」選項後,在重新加載期間動態地向Web部件添加了一個iFrame,並在其中加載了處理髮送的標準.aspx頁面。這解決了必須發送Response.End的問題。

0

本示例的基本組成部分非常簡單,可以在Microsoft文章here中找到。

微軟的文章包括下面的代碼片段:

private void Page_Load(object sender, System.EventArgs e) 
{ 
    //Set the appropriate ContentType. 
    Response.ContentType = "Application/pdf"; 
    //Get the physical path to the file. 
    string FilePath = MapPath("acrobat.pdf"); 
    //Write the file directly to the HTTP content output stream. 
    Response.WriteFile(FilePath); 
    Response.End(); 
} 

這應該幫助你。

+0

除非我誤解了,那麼問題就是'Response.End' - 除了發送文件和其他文件之外,您無法做任何其他事情。我需要發送文件並顯示普通頁面。 – Moo 2009-09-14 11:48:18