图像没有显示出来

时间:2014-02-24 21:22:57

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

我想知道为什么我的图像没有显示。我已将图像的地址存储在列名称ImageArticle中。我试图在MVC项目中的所有字段后显示此图像。这是代码。

Index.cshtml

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.FirstName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.LastName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Phone)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Email)
        </td>
        <td>
            <img src="@Html.DisplayFor(modelItem => item.ImageArticle)" />  <== here is the image
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
            @Html.ActionLink("Details", "Details", new { id=item.Id }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.Id })
        </td>
    </tr>
}

</table>

这是我在DB字段ImageArticle中添加的定义:〜/ Images / phone.jpg

以下是我运行应用时创建的HTML

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index</title>
</head>
<body>
<p>
    <a href="/Home/Create">Create New</a>
</p>
<table class="table">
    <tr>
        <th>
            FirstName
        </th>
        <th>
            LastName
        </th>
        <th>
            Phone
        </th>
        <th>
            Email
        </th>
        <th>
            ImageArticle
        </th>

        <th></th>
    </tr>

    <tr>
        <td>
            Joe
        </td>
        <td>
            Bloe
        </td>
        <td>
            222-222-3344
        </td>
        <td>
            joe.bloe@cn.ca
        </td>
        <td>
            <img src="~/Images/phone.jpg"  />   <== this image should show up correctly?
        </td>
        <td>
            <a href="/Home/Edit/1">Edit</a> |
            <a href="/Home/Details/1">Details</a> |
            <a href="/Home/Delete/1">Delete</a>
        </td>
    </tr>
    <tr>
        <td>
            Paul
        </td>
        <td>
            Statsny
        </td>
        <td>
            333-444-5544
        </td>
        <td>
            paul.statsny@cgi.com
        </td>
        <td>
            <img src="dshfs"  />
        </td>
        <td>
            <a href="/Home/Edit/2">Edit</a> |
            <a href="/Home/Details/2">Details</a> |
            <a href="/Home/Delete/2">Delete</a>
        </td>
    </tr>

</table>

在VS解决方案资源管理器中,我创建了一个名为Images的文件夹,其中我放了phone.jpg。

但是图片没有出现在屏幕上。

由于

2 个答案:

答案 0 :(得分:2)

您可以将图片网址包装在@ Url.Content。

<img src="@Url.Content(item.ImageArticle)" />

答案 1 :(得分:0)

您可以为Image控件而不是Html.DisplayFor创建自定义标签。可以找到详细说明here