0

我的视图中有一个 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 复制粘贴到我的浏览器,我可以看到图像。

4

4 回答 4

1

用于Url.Content确保 URL 正确限定:

<img src='@Url.Content(String.Format("~/App_Data/images/{0}.jpg", item.Image))' />
于 2013-08-23T12:12:53.527 回答
1

试试这个,你不需要使用@Html.LabelFor

 <img src="~/App_Data/images/@(item.Image).jpg" />
于 2013-08-23T12:08:34.483 回答
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>    
}
于 2013-08-23T12:16:06.050 回答
0

删除@Html.LabelFor,仅使用item.Image。(如果item.Image是文件名)

<img src="/App_Data/images/@(item.Image).jpg" />
于 2013-08-23T12:06:40.290 回答