如何使用外键“BAZ_ID”将数据库的URL路径加载到视图?
IMAGE_URL:
〜/ UploadImg / Untitled.png
控制器:
public ActionResult Bazar()
{
WebEntities db = new WebEntities();
var data = db.bazar.Include(c => c.images);
return View(data.ToList());
}
并查看:
<div class="col-sm-2">
<img src= "@Url.Content(modelItem => item.images.Where(a => a.BAZ_ID == item.ID).Select(b => b.IMAGE_URL).FirstOrDefault())" width="150" height="150" />
</div>
在视图中我收到错误:
无法将lambda表达式转换为'string'类型,因为它不是委托类型
答案 0 :(得分:2)
Url.Content方法需要一个字符串作为参数,而不是lambda表达式。
您可以将循环中的代码更改为(删除前导modelItem =>
)
<img src= "@Url.Content(item.images.Where(a => a.BAZ_ID == item.ID).Select(b => b.IMAGE_URL).FirstOrDefault())" ... />
但是,查询属于控制器,而不属于视图,并且您的视图模型应包含一个属性(比如)string ImageUrl
,它在控制器中填充,然后在视图中
<img src= "@Url.Content(item.ImageUrl)" ... />