导致资源未找到错误的超链接URL

时间:2017-02-09 00:33:46

标签: c# asp.net hyperlink

我有一个动态创建的标签,显示内容和文件的本地链接,以便可以在浏览器中下载或查看这些标签。

label.Text="..content.." + " <asp:HyperLink runat=\"server\" NavigateUrl=\"~/c/customer/uploads/TestDocument.docx\">HyperLink</asp:HyperLink>";

我可以使用超链接控件或<a>标签来显示动态标签中的链接,我可以看到链接地址基本上是正确的,只是Visual Web Developer 2010 Express会自动添加根路径作为前缀

http://localhost:50969/website/

到路径字符串,后跟我添加的URL,用2个单引号括起来。

http://localhost:50969/website/'c/customer/uploads/TestDocument.docx'

当我点击该链接时,该页面会抛出resource cannot be found错误。我认为2个单引号导致错误。有没有办法删除单引号?或者有更好的技术吗?

1 个答案:

答案 0 :(得分:1)

您正在尝试将一个asp.net控件作为字符串添加到Label中,但这将无法正常工作。

通过将HyperLink控件放在aspx页面上并设置NavigateUrl属性,可以正确使用<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/c/customer/uploads/TestDocument.docx">HyperLink</asp:HyperLink> 控件。

label.Text = "..content..<a href=\"~/c/customer/uploads/TestDocument.docx\">HyperLink</a>";

或创建&#34;正常&#34;超链接作为字符串。

User