我为我的网站提供了一个解决方案,使用下面的代码在整页中呈现所请求的PDF文档.现在我的客户想要在iframe中呈现文档.我似乎无法让它轻松工作,也许我错过了一些明显的东西.第一个代码将在新窗口中正确显示PDF.
if (File.Exists(filename)) { //Set the appropriate ContentType. Response.ContentType = "Application/pdf"; Response.WriteFile(filename); Response.End(); } else Response.Write("Error - can not find report");
iframe代码如下所示:
<iframe runat="server" id="iframepdf" height="600" width="800" > </iframe>
我知道我应该使用src属性作为文件名,但问题似乎是在Page_Load事件触发之前加载iframe,因此不会创建PDF.有什么明显的东西我不见了吗?
解决方法
使用ASHX处理程序. getmypdf.ashx.cs处理程序的源代码应如下所示:
using System; using System.Web; public class getmypdf : IHttpHandler { public void ProcessRequest(HttpContext context) { Response.ContentType = "Application/pdf"; Response.WriteFile("myfile.pdf"); Response.End(); } public bool IsReusable { get { return false; } } }
getmypdf.ashx将包含以下内容:
<% @ webhandler language="C#" class="getmypdf" %>
你的iframe看起来像这样:
<iframe runat="server" id="iframepdf" height="600" width="800" src="..../getmypdf.ashx"> </iframe>
原文地址:https://www.jb51.cc/aspnet/251602.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。