gpt4 book ai didi

c# - 在 iframe 中显示 aspx,aspx 显示 pdf

转载 作者:行者123 更新时间:2023-11-28 01:47:55 30 4
gpt4 key购买 nike

我使用 iframe 来显示一个 aspx 页面,如下所示

<a href="#" id="trigger">this link</a>
<div id="dialog" style="display:none">
<div>
<iframe frameborder="0" height="600" width="600" src="Displaypdf.aspx"></iframe>
</div>
</div>

在 Displaypdf.aspx.cs 中,我正在显示一个 pdf,如下所示。我在 aspx 中有一个按钮,单击该按钮会显示 pdf(在现在是 iframe 的 aspx 页面中)

protected void Button1_Click(object sender, EventArgs e)
{
string FilePath = Server.MapPath("sample.pdf");
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath);
if (FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}

这很好用。现在我想在 Page_Load 做同样的事情但是当我将此代码放入页面加载时,这不起作用。

protected void Page_LOad(object sender, EventArgs e)
{
string FilePath = Server.MapPath("sample.pdf");
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath);
if (FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}

发生的事情是,我点击并获取我的 iframe,但 iframe 是空白的,因为第一次我的 pdf 没有被渲染。谁能告诉我如何解决这个问题。

最佳答案

我已经尝试了您的代码,我认为您遗漏了一些使其工作的东西。我在下面提供了您的代码的编辑版本,应该可以正常工作。

iframe 页面 (aspx):

<head>
<script src="../../Scripts/jquery-1.9.1.min.js"></script>
<script src="../../Scripts/jquery-ui.js"></script>

<script type="text/javascript">
var $dial1 = ""

function openlink(url, title, width, height) {
$dial1 = $('<div></div>')
.html('<iframe id="frame1" style="border: 0px; " src="' + url + '" width="100%" height="100%"></iframe>')
.dialog({
autoOpen: false,
modal: true,
height: height,
width: width,
title: title
});
$dial1.dialog('open');

</script>


</head>


<body>
<form id="form1" runat="server">
<asp:Button ID="Button1" runat="server" Text="This Link" OnClientClick="openlink('Displaypdf.aspx', 'Open', '1000', '470'); return true;" OnClick="Button1_Click" />


</form>
</body>

显示pdf.aspx.cs:

   protected void Page_Load(object sender, EventArgs e)
{
string FilePath = Server.MapPath("sample.pdf");
WebClient User = new WebClient();
Byte[] FileBuffer = User.DownloadData(FilePath);
if (FileBuffer != null)
{
Response.ContentType = "application/pdf";
Response.AddHeader("content-length", FileBuffer.Length.ToString());
Response.BinaryWrite(FileBuffer);
}
}

希望这有助于...

关于c# - 在 iframe 中显示 aspx,aspx 显示 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21551642/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com