在 ASP.NET MVC 5 中查看图像

View an image in ASP.NET MVC 5

我可以这样查看索引文件中的图像:

    @*@Html.DisplayFor(modelItem => item.ImagePath)*@//Instead of this, I use the line below
    <img src="~/Images/@item.ImagePath" height=100 width=200>

但是在详细文件中我有这个:

@Html.DisplayFor(model => model.ImagePath)

如果有 model 而不是 item,如何在详细信息文件中查看图像?我做了几次尝试,但都失败了。谢谢

您可以使用自定义模板和数据注释

http://msdn.microsoft.com/en-us/library/ee308450(v=VS.100).aspx

http://www.codeproject.com/Tips/720515/Custom-HTML-Helper-for-MVC-Application

答案应该是这样的:

<img src="~/Images/@Url.Content(Model.ImagePath)" height=100 width=200 />

这个 razortag 字符串“@Html.DisplayFor(model => model.ImagePath)”正在调用数据库,获取路径,然后将路径字符串作为其输出。在索引视图中,“item.ImagePath”是一个已填充的变量,当前包含准备输出的路径。在Details视图中,没有变量,ImagePath为空,因为函数还没有运行。好吧,从技术上讲,它 运行 一次,但由于它将输出传递到视图,所以当您尝试使用它时,它又是空的。要获取 ImagePath 作为您的 img src,请调用您放置图像的整个函数,它将再次 运行 并且其输出将是用于 img src 的 ImagePath。

这也适用于索引视图。上面回答中的codeproject.comlink提供了一些相关思路。

"<img src="@Html.DisplayFor(model => model.ImagePath)"