2012-08-17 122 views
0

我有一個看起來像這樣的MVC 4項目中,我使用的圖像引用:如何在剃鬚刀文件的IF語句中使用@ Url.Content?

<img alt="Progress Update" class="projectListNotificationIcon" src="@Url.Content("~/Images/progressUpdateIcon.png")"/> 

的@ Url.Content是必要的它在這個項目上的兩個本地副本,還有活服務器副本。這個偉大的工程,但我有我在哪裏2個不同的圖像之間進行選擇另一個地方和Tha代碼如下所示:

var imagePath = (item.IsOverdue) ? "../../Images/lateIcon.png" : "../../Images/onTimeIcon.png"; 

我如何使用@ Url.Content的一些排列在我的if語句上面?目前我在做的工作方式在本地項目中,但不在服務器上。

+0

你有兩個單獨的圖像文件夾? – 2012-08-17 12:57:50

+0

@ P.Brian.Mackey沒有。但下面的答案適用於我。 – 2012-08-17 14:33:34

+0

使用asp.net mvc 4,你甚至不需要使用'Url.Content()'。看看這篇博文。 http://www.davidhayden.me/blog/asp.net-mvc-4-the-new-tilde-slash-feature-in-razor-2 – jessegavin 2012-08-18 02:54:24

回答

3

嘗試:

<img src="@((item.IsOverdue) ? Url.Content("~/path/img1.jpg") : Url.Content("~/path/img2.jpg"))" alt="whatever" /> 

使用符號(〜)符號的可能是關鍵的,因爲這相對於網站的根目錄下的URL解析。

+0

完美!這工作很好。 – 2012-08-17 13:03:15