我刚刚拿起Orchard来构建我的博客。作为我努力创建这个新博客的一部分,我正在创建一个自定义主题。此自定义主题包含CSS和图像。
我的问题
我的问题基本上归结为:我如何渲染作为主题一部分的图像?
到目前为止我尝试了什么
我试过使用以下内容:
<img src="@Html.ThemePath("/Content/Header.jpg")" alt="Logo"/>
但这并不好用。它返回以下HTML标记:
<img src="~/Themes/FizzyLogic/Content/Header.jpg" alt="Logo"/>
这不应该是它应该返回的内容。我希望它能返回我网站内图像的绝对路径。
答案 0 :(得分:25)
有几种方法可以实现这一目标。最好的方法是将URL传递给 Url.Content(...)帮助方法,如下所示:
<img src="@Url.Content(Html.ThemePath(WorkContext.CurrentTheme, "/Content/Header.jpg"))" />
将呈现您内容的正确路径。您也可以删除前导代字号(〜),如 Html.mePath(WorkContext.CurrentTheme,“/ Content / Head.jpg”)。跳过(1),它将为您提供相对于应用程序根目录,但这不是一个好的解决方案。
答案 1 :(得分:3)
你当然也可以使用Html.Image助手。
@Html.Image(Html.ThemePath(WorkContext.CurrentTheme,"/Content/Header.jpg"), "Alt Text", null)
谢谢你 - 也只是拿起Orchard。