Asp.net
如何在 ASP.Net MVC 剃須刀助手中指定圖像的虛擬路徑
在我的 razor style helper 類(位於 App_Code 文件夾中,我有這行程式碼:
<img src="../../Content/images/ajax_activity.gif" alt="loading"/>這在 Cassini 中執行良好,但是當我將應用程序部署到 IIS(虛擬目錄)時,IIS 找不到路徑。虛擬路徑被忽略。這也不起作用:
<img src="@Href("~/Content/images/ajax_activity.gif")" alt="loading" />
好的,解決了它,雖然我不確定它為什麼會起作用。在嘗試了以下所有組合但均未成功後:
<img src="../Content/images/ajax_activity.gif" alt="loading"/> <img src="/Content/images/ajax_activity.gif" alt="loading"/> <img src="~/Content/images/ajax_activity.gif" alt="loading"/> <img src="Content/images/ajax_activity.gif" alt="loading"/>以下終於按預期工作
<img src="./Content/images/ajax_activity.gif" alt="loading"/>它使用虛擬目錄集正確返回了圖像路徑。有人能解釋一下嗎?
您可以使用
@Url.Content方法將虛擬相對路徑轉換為絕對應用程序路徑,如下所示:<img src=@Url.Content("~/images/picture.png") alt="picture description">它將在此 HTML 程式碼中轉換並轉發給客戶端:
<img src="/appname/images/picture.png" alt="picture description">更新:另一方面,您可以將圖像轉換為 base64,它也會正確顯示:
<img src="data:image/png;base64,iVBORw0KG...SuQmCC" alt="picture description">