2010-02-04 57 views
0

我在ASP.NET應用程序中向用戶提供PDF文件。我已經包含了我正在使用的代碼。如果這是我對該請求做的唯一事情,這很好。我真正想做的是在Form Load上提供這個PDF文件,而不會影響Form Load事件中的其他任何東西。有人可以指出我在代碼中做錯了什麼嗎?謝謝!!在不停止請求的情況下在ASP.NET中顯示PDF文件

Response.Clear(); 
Response.Buffer = true; 
Response.ContentType = file.ContentType; 
Response.AddHeader("content-disposition", String.Format("attachment; filename=\"{0}\"", file.OriginalFileName)); 
Response.TransmitFile(Path.Combine("C:\", file.FileName)); 
Response.End(); 
+0

你能改述一下,因爲我不明白你在問什麼: 「我真正想做的是show在Form Load上提供這個PDF文件,而不會影響其他任何東西表單加載事件「。 – IrishChieftain 2010-02-08 23:00:51

回答

1

如上所述,我可能會使用一個單獨的頁面,也不使用標準的asp.net管道,可以考慮使用定製的httphandler來代替pdf,也可以使用Phil Haack的template來讓你開始。

1

Response.End()將拋出一個ThreadAbortException並沒有別的東西會執行。從字面上看,結束頁面輸出。

我建議您創建另一個頁面來生成您的PDF文件;如果你需要發送參數,你可以通過查詢字符串發送它們。

1

您需要一個單獨的頁面來下載PDF。

您可以在表單提交後(使用javascript,元刷新,iframe等)調用PDF生成頁面。效果將是表單帖子,並做任何事情,然後PDF下載框將出現。

+0

但是頁面會顯示嗎?你能給一個代碼示例嗎? – 2010-02-04 01:06:18

相關問題