[英]Response.BinaryWrite() not working in a modal popup window
我正在開發一個SharePoint應用程序,在其中我將PDF內容輸出到瀏覽器,以便用戶可以保存PDF。 但是,當我執行Response.Redirect()
時,它起作用了,但是當我使用SharePoint的CommonShowModalDialog()在新的彈出窗口中打開同一頁面時,它卻沒有起作用。
如果我重定向到我在其中編寫BinaryWrite()
代碼的http://test/pdfoutput.aspx ,則可以正常工作。
但是,如果我使用SharePoint的“模態”對話框打開頁面,則可以正確地在彈出窗口中打開頁面,並且在調試時將無任何異常地執行代碼。 但是我沒有得到保存對話框。
Same page -> Response.Redirect() - works
-> CommonShowModalDialog() - Fails
有任何想法嗎?
據我了解的問題,問題在於您並不總是會出現“保存”對話框。 不執行Response.Redirect時,內容將在瀏覽器窗口中打開。
在這種情況下,您需要在響應中的HTTP標頭中添加內容處置標頭和mime類型。
Response.AppendHeader("content-disposition", "attachment; filename=\"" + filename + "\"");
Response.ContentType = "application/pdf";
最初,我使用SharePoint的CommonShowModalDialog
來顯示彈出窗口。 它在內部(在core.js中)執行window.open()。 但是問題出在CommonShowModalDialog上,當我用一個簡單的window.open()替換它時,它就起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.