2013-06-12 17 views
2

我有一個頁面上的一個asp.net超鏈接點擊後會打開一個新的窗口,一個新的頁面:ASP.NET Response.AddHeader關閉窗口

lnkPrint.NavigateUrl = blah blah; 
lnkPrint.Target = "_blank"; 

在這個新的頁面是創建一個用戶控件Word文檔與OpenXML。我正在嘗試向用戶展示Word文檔,而不關閉新窗口。但是,該窗口只是向用戶呈現文檔,並關閉窗口並返回到帶有超鏈接的頁面。

HttpContext.Current.Response.ClearContent(); 
HttpContext.Current.Response.ClearHeaders(); 
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=" +  masterFileName); 
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8; 
HttpContext.Current.Response.TransmitFile(masterContainer); 
HttpContext.Current.Response.Flush(); 
HttpContext.Current.Response.Close(); 

有誰知道爲什麼新窗口正在關閉以及如何讓它保持打開狀態?

感謝,

+0

是不是因爲'HttpContext.Current.Response.Close();' – ErikMes

+0

是的,我試着把最後兩行,但它似乎沒有幫助 – UKGirl

+0

我不明白這裏的問題...如果您的瀏覽是按照您的描述進行的,頁面應該在新窗口/選項卡中打開。也許我誤解了一些東西? –

回答

0

既然你清除的內容,然後發送一個文件,沒有任何的「頁」上顯示。甚至沒有一個頁面。

如果你想打開一個新標籤,在那裏顯示一條消息,然後開始下載,你必須讓新的頁面通過JavaScript調用另一個(下載本身)。

+0

謝謝亞歷山大,那就是我要做的 – UKGirl