我在视图中有一个foreach循环具有字段Image的对象。现在我希望显示该图像。所以我想把图像名称放在一个html img标签中。
查看:
@foreach (var item in LstBagels)
{
@Html.Hidden("TxtId", item.BagelId);
<div id="bagel">
<div id="bagel-image">
<!--<img src="~/App_Data/images/" + @Html.LabelFor(m => item.Image) + ".jpg" />-->
</div>
</div>
}
图像存储在App_Data / images地图中。在数据库中,我只存储名称“nobagel”。
修改
根据给定的解决方案,我得到以下html:
<img src="/App_Data/images/nobagel.jpg" >
这似乎是正确的,但图像没有显示。
编辑2:
我现在在我的视图中使用它:
<img src="@Url.Content(String.Format(Server.MapPath("~") + "App_Data\\images\\{0}.jpg", item.Image))" alt="" />
这给出了这个html输出:
<img alt="" src="C:\Users\stage\Desktop\BestelBagels\BestelBagels\BestelBagels\App_Data\images\nobagel.jpg">
如果我只是将src复制粘贴到我的浏览器,我可以看到图像。
答案 0 :(得分:1)
试试这个,您不需要使用@Html.LabelFor
<img src="~/App_Data/images/@(item.Image).jpg" />
答案 1 :(得分:1)
使用Url.Content
确保网址正确合格:
<img src='@Url.Content(String.Format("~/App_Data/images/{0}.jpg", item.Image))' />
答案 2 :(得分:0)
删除@Html.LabelFor
,仅使用item.Image
。 (如果item.Image
是文件名)
<img src="/App_Data/images/@(item.Image).jpg" />
答案 3 :(得分:0)
试试这个
@foreach (var item in LstBagels)
{
@Html.Hidden("TxtId", item.BagelId);
<div id="bagel">
<div id="bagel-image">
<img src="@string.Format("~/App_Data/images/{0}.jpg", item.Image)" alt="" />
@item.Image
</div>
</div>
}