【发布时间】:2015-07-11 22:25:49
【问题描述】:
涉及的数据库包括两个实体,它们是 int 类型的 ID 和 text 类型的 ImagePath。 ID 保存自动递增的数字,ImagePath 保存特定图像的 URL。目前我已经设法使用以下代码显示在数据库中找到的所有图像。
Index.cshtml
@foreach (var item in Model)
{@Html.DisplayFor(modelItem => item.ImagePath)
<img src="~/Images/@Html.DisplayFor(modelItem => item.ImagePath)" />
ImageController.cs
public class ImageController : Controller
{
private ImageDBContext db = new ImageDBContext();
public ActionResult Index()
{
return View(db.Images.ToList());
}
我想显示一个特定的图像,而不是数据库中找到的所有图像。有人可以帮助我通过ID 显示数据库中存储的特定 URL 图像吗? (即显示图像来自ImagePath通过.cshtml 中调用的ID)
非常感谢您的时间和帮助。谢谢。
更新:
写下以下代码以显示来自db.image 表的图像,选择ImageID = 2 来表示相关的url 存储图像。
ImageController.cs
public ActionResult Index(int ImageID = 2)
{
return View(db.Images.Where(img => img.ID == ImageID).ToList());
}
Index.cshtml
@foreach (var item in Model)
{
@Html.DisplayFor(modelItem => item.ImagePath)
<img src="~/Images/@Html.DisplayFor(modelItem => item.ImagePath)"/>
继续前进,我想从 Index.cshtml 中选择 ImageID,而不是从控制器中的 public ActionResult Index() 中选择 int ImageID = 2。正在考虑在@html.DisplayFor 中添加ImageID == 2,但不知道如何。任何想法如何从 index.cshtml 代码中选择 ImageID 来表示相关的图像?*
结束目标
将下面的<img src=""/> 替换为从给定的ID 调用imagePath。
<a href="https://www.facebook.com/vellanevets" target="_blank"> <img src="images/social/instagram.png" /></a>
<a href="http://instagram.com/nevetsvella/" target="_blank"> <img src="images/social/instagram.png" alt="" /></a>
<a href="http://vimeo.com/user16587212" target="_blank"> <img src="images/social/vimeo.png" alt="" /></a>
<a href="mailto:steven.vella93@gmail.com" target="_blank"> <img src="images/social/email.png" alt="" /></a>
}
【问题讨论】:
-
这个非常广泛的问题的哪一步会导致您遇到问题:获取图像的 ID 以执行操作、按 ID 从数据库中查询项目、将图像作为流返回,还是其他?
-
你需要使用
@Url.Actionstackoverflow.com/questions/8436375/… -
查看新的更新也许它阐明了我的最终目标
标签: c# asp.net asp.net-mvc database razor