渲染图像路径以查看

时间:2015-01-15 20:03:25

标签: c# asp.net-mvc asp.net-mvc-4 razor

我有一个奇怪的错误发生在我身上,之前它正在工作,但我改变了一些非常小的东西,打破了一切。

因此,我在数据库中找到了一个Image,然后通过构建图像链接将其渲染到视图中。问题是:Razor无法将其映射到图像。

我已经让一个法师向你展示它有多奇怪。

enter image description here

正如您所看到的,那些是完全相同的字符串,一个是正确映射,另一个不是。我想知道是否存在某种我缺失的格式。如果我执行“Server.MapPath”来获取Image的绝对路径,那么它会正确映射它,但禁止访问图像(因为绝对路径)。

2 个答案:

答案 0 :(得分:2)

当相对路径直接应用于某些HTML元素的属性时,Razor仅应用此波形斜杠魔法,而不是当它是某些模型属性的一部分时。

您必须明确使用Url.Content

<img src="@Url.Content(Model.ProfilePicturePath)" />

答案 1 :(得分:0)

你也可以使用图像的自定义htmlhelper并像这样使用。 @ html.Image(@ item.ImageName)