我在我的視圖中隨處可見Url.Content()
片段。他們在使用簡單網址的網頁上工作得很好,但當網址變長時則無法正常工作。Url.Content()不適用於複雜的URL
下面是一個示例:
<img src="@Url.Content("~/Content/Images/logo.png")" id="logo">
時,我也能正常工作的網頁上,或URL localhost:8080/s/chocolate
(它顯示了「巧克力」搜索結果的頁面
但是,當我試圖添加一些改進,例如localhost:8080/s/chocolate/b/lindt
(意思是將以前的結果過濾爲品牌Lindt中的結果),但它不再有效。在這種情況下,Url.Content
指向/s/chocolate/Content/Images/logo.png
,這明顯失敗。
這就好像Url.Content
只在當前位置上升兩級而不是使用網絡應用的真實根。我認爲在約定中,URLs的形式是host/controller/action,但在這裏我有一個更復雜的URL方案(我使用URL重寫器模塊將這些URL片段與操作參數相匹配)。
有沒有辦法告訴幫手去真正的根,或任何其他解決方案來解決這個問題?
(順便說一句,我使用MVC 4)
編輯: 正如菲利普回答,我才發現,原來Url.Content不再需要用MVC 4,對所有作品「設計」圖像具有不變的路徑。然而,我使用很多圖像,其中路徑部分由一些數據構成,例如,
<img src="@Url.Content(string.Format("~/Content/Images/stores/{0}.png", cart.Store.Retailer.Id))"/>
我簡單地除去Url.content,因爲這樣的:
<img src="@string.Format("~/Content/Images/stores/{0}.png", Model.PreferedCart.Store.Retailer.Id)"/>
在呈現時,這給出了以下的src:~/Content/Images/stores_v2/Fr_SimplyMarket.png
。 ~
仍然在這裏,沒有找到圖像。我該如何解決這個問題?
它的作品就像一個魅力,但我試圖從App_Data文件夾而不是內容文件夾中獲取圖像。不知何故,它不工作。任何想法 –