【发布时间】:2014-02-28 08:56:22
【问题描述】:
我使用 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 没有被渲染。谁能告诉我如何解决这个问题。
【问题讨论】:
-
您有任何错误吗?或者您是否尝试在页面加载开始时添加断点?我注意到你在第一行有一个语法错误,应该是 protected void Page_Load
-
没有语法错误:)。是打字错误。基本上,问题是当我将它添加到页面加载时,iframe 是空白的
标签: c# javascript html asp.net iframe