Using Url.Content with semi-relative URL
I am storing the location of images in my database in an MVC application...but i am only storing part of the location. For example:
/headers/image1.jpg
/headers/image2.jpg
The images are actually stored in the following folder:
~/content/images/headers/image1.jpg
~/content/images/headers/image1.jpg
In my view, I want to do something like this:
<img src="@Url.Content("~/content/images") + Model.ImageUrl" />
How can I do thi开发者_StackOverflow中文版s?
Just do it!
<img src="@Url.Content("~/content/images" + Model.ImageUrl)" />
UPDATE:
As of ASP.NET MVC 4 it is valid to use the tilde URLs directly in HTML as the Razor View Engine will parse the URLs. Like this:
<img src="~/content/images/@Model.ImageUrl" />
You can write extension method which combine your ImageUrl with configured path to content directory.
<img src="@Model.ImageUrl.ToRelative()" alt="@Model.ImageAlt" />
PS
Remember about alt tag. ;)
精彩评论