我正在尝试在HTML小部件中添加指向页面的链接。
我目前正在将果园作为虚拟目录运行,因此我无法使用'/'
。此外,由于我正在开发一个开发站点,然后复制到一个实时站点,我不确定该站点是作为虚拟目录运行还是从根运行。
我刚刚意识到通过HTML小部件输入的所有链接都会出现问题,因为您无法使用'~'
,看起来图像链接也是固定的,因此部署到其他位置赢了工作即。从localhost \ dev到localhost \ live
有什么想法吗?
答案 0 :(得分:3)
如果您从html编辑器输入它,除了使用根路径(/ foo)之外别无选择。当然,如果您从vdir发布到没有vdir的站点,它可能会导致问题,但现在就是这样。我们正在寻找解决方案,但与此同时,最好的办法是建立一个尽可能接近生产设置的开发站点。
答案 1 :(得分:2)
作为pointed out by randompete on codeplex,另一个解决方案可能是实现您自己的IHtmlFilter。我写了一个简单的实现,你可以在这里找到:http://orchard.codeplex.com/discussions/279418 它基本上对BodyPart文本进行后期处理,方法是用〜/以解析的url(使用UrlHelper.Content()方法)替换所有出现的url(
)答案 2 :(得分:1)
如果需要显示指向静态资源的链接,可以使用:
@Html.Link(string textlink, string url)
但是Html.Link不支持应用程序亲属网址(〜/ [...])
如果你只需要href(和img一样)。它支持〜/ urls。
src='@Href(string url)'
如果您需要显示指向某个操作的链接
@Html.ActionLink(...) <-- lots of overloads.