c# - Response.BinaryWrite() 在模态弹出窗口中不起作用

标签 c# javascript sharepoint pdf popup

我正在开发一个 SharePoint 应用程序,我在其中将 PDF 内容输出到浏览器,以便用户可以保存 PDF。但是,当我执行 Response.Redirect() 时它可以工作,但当我使用 SharePoint 的 CommonShowModalDialog() 在新的弹出窗口中打开同一页面时则不能。

如果我重定向到 http://test/pdfoutput.aspx我在其中编写了 BinaryWrite() 代码,它运行良好。

但是,如果我使用 SharePoint 的模态对话框打开页面,我会在弹出窗口中正确打开页面,并且代码在调试时无任何异常地执行。但我没有看到保存对话框。

Same page -> Response.Redirect() - works
          -> CommonShowModalDialog() - Fails

有什么想法吗?

最佳答案

据我了解这个问题,问题是您并不总是让“保存”对话框出现。当不执行 Response.Redirect 时,内容将在浏览器窗口中打开。

如果是这种情况,您需要将内容配置 header 和 MIME 类型添加到响应中的 HTTP header 。

Response.AppendHeader("content-disposition", "attachment; filename=\"" + filename + "\"");
Response.ContentType = "application/pdf";

关于c# - Response.BinaryWrite() 在模态弹出窗口中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5298407/

相关文章:

javascript - Angular js 自定义域映射

SharePoint:以编程方式在文档库之间移动文档

c# - 使用 MVVM 在组合框中设置默认值

c# - 如何使用 ADO.NET、IDbConnection 和 IDbCommand 使 C# 代码更简洁?

javascript - "Http channel implementation doesn' t 支持 nsIUploadChannel2。一个扩展提供了一个非功能性的 http 协议(protocol)处理程序”

java - 使用 NTLM 对 Sharepoint 使用 HttpClient 身份验证机制时出现 HTTP 403 Forbidden

web-services - 在PowerShell中与[ref]一起使用的参数未填写

c# - 使用 PRISM 与 WPF 应用程序中的区域对话

c# - 实现特定接口(interface)的类型集合

javascript - 三元形式的 if else block 怎么写