使用html超链接的路径问题

时间:2013-11-19 06:21:08

标签: c# html asp.net .net

默认页面上的ASP.NET应用程序我必须创建两个引用PDF文件的链接。

示例:

<a href="Private/UserDocs/SIPCustomerUserGuideV2-2013.pdf" target="_blank">

PDF文件存在的代码结构是:

Web.FormProject/Private/UserDocs/SIPCustomerUserGuideV2-2013.pdf     

以上Web.FormProject是一个文件夹,Private是Web.FormProject中的子文件夹,UserDocs是Private文件夹下的子文件夹。该文件位于UserDocs中。

当我尝试使用上述内容时,URL甚至不会给出任何错误 但是,当我将我的超链接更改为 将文件放入Web.Form项目(而不是在任何子文件夹下)之后,它可以正常工作。

我甚至尝试过与asp相同:超链接不起作用。  它只适用于我尝试使用asp:LinkBut​​ton和服务器端的代码,但Content:Disposition“inline:... in Response.AppendHeader(”Content-Disposition“,”inline; filename = SIPCustomerUserGuideV2-2013.pdf “);在同一浏览器中打开它,我希望它在新的浏览器中打开”但我想要一个解决方案,将其用作上面给出的超链接。请回复。
问题:

如何从Web.Form Project / Private / UserDocs / path打开PDF  提前谢谢。

2 个答案:

答案 0 :(得分:1)

尝试:

<a href='<%= ResolveUrl("~/Private/Docs/UserGuide.pdf") %>' target="_blank">Link To PDF</a>

ResolveUrl()方法将解析为完整路径。

修改

经过一番聊天,我们发现他有一个配置:

<location path="Private"> 
<system.web> 
<authorization> 
<deny users="?"/> 
</authorization> 
</system.web> 
</location> 

禁用未登录的用户下载文件。

答案 1 :(得分:0)

尝试从root解析它,不要忘记添加runat属性:

<a href="~/Private/UserDocs/SIPCustomerUserGuideV2-2013.pdf" 
    target="_blank" runat="server">Link</a>