从Orchard内的主题渲染图像

Wil*_*nts 13 .net asp.net asp.net-mvc orchardcms asp.net-mvc-3

我刚刚拿起Orchard来建立我的博客.作为我努力创建这个新博客的一部分,我正在创建一个自定义主题.此自定义主题包含CSS和图像.

我的问题

我的问题基本上归结为:我如何渲染作为主题一部分的图像?

到目前为止我尝试过的

我试过使用以下内容:

<img src="@Html.ThemePath("/Content/Header.jpg")" alt="Logo"/>
Run Code Online (Sandbox Code Playgroud)

但这并不好.它返回以下HTML标记:

<img src="~/Themes/FizzyLogic/Content/Header.jpg" alt="Logo"/>
Run Code Online (Sandbox Code Playgroud)

这不应该是它应该返回的.我期望它返回我网站内图像的绝对路径.

Pio*_*myd 25

有几种方法可以实现这一目标.最好的方法是将URL传递给Url.Content(...)帮助方法,如下所示:

    <img src="@Url.Content(Html.ThemePath(WorkContext.CurrentTheme, "/Content/Header.jpg"))" />
Run Code Online (Sandbox Code Playgroud)

这将为您的内容呈现正确的路径.您也可以像Html.mePath(WorkContext.CurrentTheme,"/ Content/Header.jpg") . kip(1)一样去除前导波形符(〜),这将为您提供相对于应用程序根目录的路径,但这是虽然不是一个好的解决方案