我有一个 ASP.NET 网站,可以生成 PDF 格式的报告。我想将该 PDF 加载到我的 View 上的 IFRAME 中。但当我尝试时,它总是提示我下载 PDF。我尝试过使用 File() 方法,返回一个新的 FileContectResult(),甚至只使用 Response.BinaryWrite() 但似乎没有任何效果。有人有什么好的建议吗?
这是 View 中的 Razor 代码:
<script>
$(document).ready(function () {
var url = $('#reportUrl').val();
$("#iframe1").attr("src", url);
});
</script>
<input type="hidden" id="reportUrl" value="@Url.Action("ContactListPDF2","Reports")" />
<div class="block-head">
<div class="item-content">
<iframe id="iframe1" style="border: 1px solid black; height: 500px; width: 100%">
</iframe>
</div>
</div>
这是我的 Controller 中的适当方法:
public ActionResult ContactListPDF2()
{
byte[] reportData = ReportsModel.GetContactListPDF();
return new FileContentResult(reportData, "application/pdf");
}
我知道我错过了一些简单而明显的东西,但对于卑鄙的生活,我可以确定它是什么。
最佳答案
如果可能的话,我会放弃 iframe 和 javascript,转而使用 <embed>
public ActionResult ContactListPDF2()
{
byte[] reportData = ReportsModel.GetContactListPDF();
return new FileContentResult(reportData, "application/pdf");
}
<embed src="@Url.Action("ContactListPDF2","Reports")" />
关于c# - 将生成的 PDF 数据加载到 ASP.NET MVC 上的 IFRAME 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29425989/