【发布时间】:2017-02-09 17:04:55
【问题描述】:
我有一个动态创建的标签,用于显示内容和文件的本地链接,以便可以在浏览器中下载或查看这些文件。
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 个单引号导致错误。有没有办法删除单引号?或者有更好的技术吗?
【问题讨论】:
-
你能用
NavigateUrl='~/c/customer/uploads/TestDocument.docx'代替NavigateUrl=\"~/c/customer/uploads/TestDocument.docx\"吗?参考:Server tag not parsed in asp:Hyperlink -
@KeyurPATEL 这是生成的 url localhost:50969/website/'c/customer/uploads/…' 这是相同且相同的错误但技术上不正确的语法,因为双引号表示链接按钮开始标记的结尾。
-
@KeyurPATEL 你的建议很有道理。通过操作,单引号被删除。我会不断更新帖子。