Html 从ASP.NET MVC中本地主机之外的路径获取文档
我有一个ASP.NETMVC4站点和一个小问题 在我的Telerik菜单上,它就像我所有页面上的边栏,我有一个链接,可以在我的文件系统中找到Microsoft Word文档(.docx)。为此,我添加了一个包含我的文档的文档文件夹,然后指定了链接的路径。这可以从我的本地主机上的任何页面工作,并且不会让用户离开当前页面。他们只需单击,文档就会推送到当前使用的页面Html 从ASP.NET MVC中本地主机之外的路径获取文档,html,asp.net-mvc,Html,Asp.net Mvc,我有一个ASP.NETMVC4站点和一个小问题 在我的Telerik菜单上,它就像我所有页面上的边栏,我有一个链接,可以在我的文件系统中找到Microsoft Word文档(.docx)。为此,我添加了一个包含我的文档的文档文件夹,然后指定了链接的路径。这可以从我的本地主机上的任何页面工作,并且不会让用户离开当前页面。他们只需单击,文档就会推送到当前使用的页面 @(Html.Telerik().Menu().Name("genMenu")
@(Html.Telerik().Menu().Name("genMenu")
.Orientation(MenuOrientation.Vertical)
.HtmlAttributes(new { @class = "items" })
.Items(appMenu =>
{
appMenu.Add().Text("User Guide").Url("/Documents/My%20User%20Guide.docx");
}))
在另一个页面上,我有一个html元素,除了检索Excel工作表(.xlsx)之外,它做了类似的事情。这也适用于我的本地主机
<a href="/Documents/Upload%20Template.xlsx">
.xlsx</a>
我的站点没有关闭,站点的其余部分功能齐全,但试图像在本地主机上一样获取文档会导致错误。此外,看起来我的开发站点实际上是将用户直接带到他们单击的链接。这不应该发生。我知道这一点,因为当我单击Telerik菜单链接时,它会将我带到该链接:
http://DevSite/Documents/My%20User%20Guide.docx
有人知道为什么这种行为发生在我的开发网站上,而不是我的本地主机上吗
我愿意以完全不同的方式做这件事,但我的主要目标仍然是一样的:
有一个链接,用户可以单击该链接从ASP.NET MVC站点文件系统中下载文档。尝试使用Url.Content()。此方法知道您的网站相对于IIS的上下文和目录路径。将虚拟路径映射到绝对路径。我的localhost环境和我们的Dev服务器之间存在类似的问题:
<a href="@Url.Content("~/Documents/Upload%20Template.xlsx")">.xlsx</a>
请参阅本文:这为我省去了很多麻烦!非常感谢!对于任何需要说明如何处理Telerik菜单的人,都可以使用以下代码:appMenu.Add().Text(“用户指南”).Url(“~/Documents/My%20User%20Guide.docx”);结果表明.Url()方法的工作原理非常类似于@Url.Content。
<a href="@Url.Content("~/Documents/Upload%20Template.xlsx")">.xlsx</a>