Dot-Net

從 Orchard 中的主題渲染圖像

  • November 4, 2012

我剛剛選擇了 Orchard 來建立我的部落格。作為我創建這個新部落格的一部分,我正在創建一個自定義主題。這個自定義主題同時具有 CSS 和圖像。

我的問題

我的問題基本上歸結為:如何渲染作為主題一部分的圖像?

到目前為止我嘗試過的

我嘗試使用以下內容:

<img src="@Html.ThemePath("/Content/Header.jpg")" alt="Logo"/>

但這並不好。它返回以下 HTML 標記:

<img src="~/Themes/FizzyLogic/Content/Header.jpg" alt="Logo"/>

這不完全是它應該返回的內容。我希望它能夠返回我網站內圖像的絕對路徑。

有幾種方法可以實現這一目標。最好的方法是將 URL 傳遞給**Url.Content(…)**輔助方法,如下所示:

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

這將為您的內容呈現正確的路徑。您也可以像Html.ThemePath(WorkContext.CurrentTheme, “/Content/Header.jpg”).Skip(1 ) 那樣去掉前導波浪號 (~) ,這將為您提供相對於應用程序根目錄的路徑,但那是雖然不是一個好的解決方案。

您當然也可以使用 Html.Image 助手。

@Html.Image(Html.ThemePath(WorkContext.CurrentTheme,"/Content/Header.jpg"), "Alt Text", null)

謝謝你 - 也只是拿起果園。

引用自:https://stackoverflow.com/questions/5693794