【发布时间】:2015-02-02 03:43:25
【问题描述】:
我有这个显示文档链接的局部视图;
@model IList<DocumentLineViewModel>
<tr>
<td class="leftCell" style="width: 150px;">
<label>Documents</label></td>
<td class="rightCell" id="documentCell">
@if (Model.Any(x => x.CurrentUrlFlag))
{
foreach (var document in Model)
{
<a target="_blank" href="@document.CurrentUrl">
@document.CategoryName
</a>
}
}
else
{
<span>Not Entered</span>
}
</td>
</tr>
如果文档是 pdf,它可以正常工作,我可以查看文档。 如果文档是 word(或 excel),我会收到这个不受欢迎的提示;
我该如何阻止这种情况?
编辑 我尝试的一种方法是将文档嵌入到弹出窗口中,但这不起作用;
@model IList<DocumentLineViewModel>
<tr>
<td class="leftCell" style="width: 150px;">
<label>Documents</label></td>
<td class="rightCell" id="documentCell">
@if (Model.Any(x => x.CurrentUrlFlag))
{
foreach (var document in Model)
{
if (document.CurrentUrl.ToUpper().EndsWith("PDF"))
{
<a target="_blank" href="@document.CurrentUrl" class="btn">
@document.CategoryName
</a>
}
else
{
<a href="#show-document" class="btn" data-toggle="modal">@document.CategoryName</a>
<div class="modal fade" id="show-document" style="display: none">
<object src="@document.CurrentUrl"><embed src="@document.CurrentUrl"></embed></object>
@* <iframe src="@document.CurrentUrl"></iframe>*@
</div>
}
}
}
else
{
<span>Not Entered</span>
}
</td>
</tr>
弹出窗口出现了,但内容没有显示文档。
【问题讨论】:
-
你想做什么? PDF 将在浏览器中打开,因此不会提示下载。浏览器没有查看
docx文件的本机功能,因此必须下载它们。据我所知,您不能覆盖提示,因为它是用户方面的一项安全功能。 -
这就是我正在尝试做的事情,答案是看起来做不到。
-
你可以试试word viewer
-
@arame3333 Siva Gopal 在下面的答案中有一个有趣的观点,如果您能找到一种方法来调用 Web 文档查看器(例如 Google Docs Viewer),那肯定是解决您的问题的有趣方法。您的“链接”可能需要使用 JavaScript 通过 AJAX 将文件上传到文档查看器,然后您可能会在 iframe 或模式窗口或其他东西中打开响应,这会很酷。
-
我尝试的解决方案不起作用,请参阅编辑后的问题以了解我做了什么。
标签: asp.net-mvc