我有一個包含多個控件的aspx頁面。當我點擊這個頁面上的一個按鈕, 我需要獲取文本框和下拉列表的值,並進行一些處理並將其傳遞到另一個aspx頁面。第二個aspx將做進一步的處理並生成一個pdf下載。 我不希望用戶被重定向到第二頁。我只是想讓pdf下載出現在新窗口中。 我該如何做到這一點?在不重定向的情況下在新窗口中下載pdf
回答
您需要設置Content-Disposition
http頭並直接返回pdf。
像這樣:
Response.ContentType = "application/x-download";
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=\"{0}\"", fileName));
Response.WriteFile(filePath + fileName);
Response.Flush();
Response.End();
注意:不要設置Content-Disposition
到application/pdf
因爲這是由很多瀏覽器所識別,他們將嘗試與嵌入在瀏覽器中的PDF閱讀器打開它。
如何發佈到第二頁按鈕點擊?
設置你的按鈕一項PostBackUrl點擊這樣的:
<asp:Button
ID="Button1"
PostBackUrl="~/TargetPage.aspx"
runat="server"
Text="Submit" />
您可以通過使用PreviousPage
屬性如下訪問控制讀取目標頁面上你的當前頁面值:
TextBox SourceTextBox =
(TextBox)Page.PreviousPage.FindControl("TextBox1");
if (SourceTextBox != null)
{
Label1.Text = SourceTextBox.Text;
}
如何將數據從第一個aspx傳遞給第二個aspx頁面,然後從seco開始下載nd aspx? – user1690251
用一些相關代碼更新了我的答案。 – nunespascal
我希望PDF下載發生在新窗口中。不一樣的窗口。 – user1690251
- 1. 如何在不刷新C#中窗口圖像的情況下刷新窗口?
- 2. 在沒有新窗口的情況下加載XAML內容
- 3. 在不重新啓動Xorg的情況下重新加載XINITRC
- 4. 我可以在不重定向的情況下重寫URL嗎?
- 5. 如何在不重寫URL的情況下重定向頁面?
- 6. WPF在不關閉原始窗口的情況下打開一個新窗口
- 7. Flex和AIR:在不重新創建的情況下打開和關閉窗口
- 8. 如何在不重定向的情況下將yandex載入到iiframe中
- 9. 如何在不重新加載MapView的情況下重新加載MKAnnotations?
- 10. 的Javascript在重載情況下
- 11. 默認情況下,Safari Web Inspector在新窗口中顯示
- 12. 在不重新加載頁面的情況下請求內容
- 13. 在不重新加載頁面的情況下清除值
- 14. 在不重新加載頁面的情況下更改URL
- 15. 在不重定向子域的情況下重定向非www請求
- 16. 在沒有彈出窗口的情況下在ascx上下載文件鏈接
- 17. 如何在不更改URL的情況下重定向頁面?
- 18. 在不重定向的情況下更改響應URL
- 19. 在不重定向的情況下使用Sinatra和jQuery
- 20. 在不重定向的情況下更改網址
- 21. 如何在不重定向的情況下執行href
- 22. JavaScript不重定向到URL在if-else的情況下
- 23. SSRS 2008 - 在縱向不打印的情況下打印PDF
- 24. 顯示在一個模式窗口中的PDF下載不
- 25. 如何在不等待整頁加載的情況下重定向
- 26. 在不重新加載的情況下更新UITableView中的頁腳標題
- 27. PDF下載後重定向頁面
- 28. 在不重新定義的情況下向.draggable添加網格鎖
- 29. 在不刷新頁面的情況下重定向到PHP和JS
- 30. Linux在不產生新進程的情況下運行重定向子進程
類似的問題:http://stackoverflow.com/questions/873207/force-download-of-a-file-on-web-server-asp-net-c-sharp –