我正在开发一个SharePoint应用程序,我将PDF内容输出到浏览器,以便用户可以保存PDF。但是当我执行Response.Redirect()
时它正在工作,但是当我使用SharePoint的CommonShowModalDialog()在新的弹出窗口中打开同一页面时,它却无效。
如果我重定向到http://test/pdfoutput.aspx,我写了BinaryWrite()
代码,那就可以了。
但是,如果我使用SharePoint的Modal对话框打开页面,我会正确地弹出页面,并且在调试时代码会被执行而没有任何异常。但是我没有收到保存对话框。
Same page -> Response.Redirect() - works
-> CommonShowModalDialog() - Fails
有什么想法吗?
答案 0 :(得分:0)
据我所知,问题在于您并不总是会出现“保存”对话框。当不执行Response.Redirect时,内容将在浏览器窗口中打开。
如果是这种情况,则需要在响应中的HTTP标头中添加内容处置标头和mime类型。
Response.AppendHeader("content-disposition", "attachment; filename=\"" + filename + "\"");
Response.ContentType = "application/pdf";
答案 1 :(得分:0)
最初我使用SharePoint的CommonShowModalDialog
来显示弹出窗口。它在内部(在core.js中)执行window.open()。但问题出在CommonShowModalDialog上,当我用一个简单的window.open()替换它时,它就可以了。