2011-12-01 39 views
1

我總是用下面的代碼流下載的PDF文件到我的用戶(以純asp.net web應用程序)的TransmitFile表現在SharePoint的WebPart比普通asp.net有點不同

Response.Buffer = false; 
Response.Clear(); 
Response.ClearContent(); 
Response.ClearHeaders(); 
Response.ContentType = "application/pdf"; 
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName); 
Response.TransmitFile(documentPath + fileName); 
Response.End(); 

現在我m在SharePoint 2010 Web部件中使用相同的代碼,並且其工作方式與預期的相同。唯一的一點是,我已經下載了一個文件後,我不能點擊其他網格應該給我一個新的下載。換句話說,我可以下載一個文件,然後我必須重新加載頁面才能夠下載另一個文件。

任何人都可以指出我在做什麼(與SharePoint結合)我做錯了嗎?

+0

我試着使用Response.WriteFile,但它沒有任何區別。 – Tys

回答

0

我一直在尋找幾個小時,嘗試了各種解決方案,但沒有真正幫助。 我想搞亂響應意味着你對SharePoint有點太亂了。

解決方法我設置: 把代碼來修改所述響應,並在單獨.aspx文件傳送文件並生成iframe的標籤與正確的URL和(加密的)參數,注入此代碼到頁面通過使用文字。 工程相當不錯,簡單。

+0

我也是這麼做的。作品。 –

0

首先,你應該刷新和之前結束它

Response.Flush(); 
Response.Close(); 

也很近的反應,我還沒有嘗試過專門在S​​harePoint,但如果上述不工作,你可以嘗試沒有結束響應。

+0

這沒有什麼區別 – Tys