2010-11-09 16 views
3

這是我的場景創建方式。ASP.Net控制按鈕PostBack導致重定向,當我根本不需要它時(打印按鈕)

我點擊一個按鈕,通過iTextSharp生成PDF。

然後在彈出的對話框中單擊「取消」。

我通過超鏈接導航到另一個頁面。

我然後點擊IE8

「返回」按鈕

然後我點擊產生的PDF,那麼我重定向到我先前瀏覽的網頁按鈕(當我點擊超鏈接)。哪一個並不打算如此。

下面是一些影響Response對象代碼(代碼print_click事件中)

Response.ContentType = "application/pdf"; 
Response.AddHeader("content-disposition", "attachment; filename=ManageWorkforce.pdf"); 
Response.End(); 

任何人有一個理論,爲什麼會這樣?

+0

我注意到類似的行爲,所以我決定從一個特殊的處理程序而不是從一個POST輸出文件到同一頁面。 – Greg 2010-11-09 20:45:36

+1

@Greg - 請給我更多關於這個「特殊處理程序」的詳細信息,或者您有一篇文章可以幫助我指出正確的方向嗎? – Kukoy 2010-11-09 20:48:12

+4

當然,這樣的事情可能會起作用。 http://www.developerfusion.com/code/5223/using-ashx-files-to-retrieve-db-images/基本上你創建一個「Generic Handler」文件(ashx),在查詢字符串上傳遞一個ID,然後像你在這裏顯示的那樣編寫你的輸出。 – Greg 2010-11-09 20:55:32

回答

1

我一直使用像Greg提到的通用處理程序完成此操作。這也是更好,如果你想在未來鏈接到其他網頁文件,或將其保存到收藏夾,發送給你的朋友,等

+0

這是最接近我得到一個答案,無法嘗試... – Kukoy 2011-06-24 16:51:58

0

您是否嘗試過使用

Response.Clear(); 
Response.ClearHeaders(); 

以清除可能仍附於響應的內容和標題任何其他內容?

0

嘗試把:

<%@ OutputCache NoStore="true" %>

aspx頁面。