[英]Pass data from controller to View - MVC
我正在嘗試進行查詢以接收數據庫中的所有數據以在視圖中顯示它們。
但它不起作用。 我無法弄清楚發生了什么,因為我沒有收到任何錯誤。
有人可以幫忙嗎?
提前致謝
控制器:
public ActionResult Details(int id = 0)
{
Persons p= db.persons.Find(id);
var query = from a in db.images
where a.Id_Person== id
select a.FileName;
ViewBag.ImgRev= query;
if (mag == null)
{
return HttpNotFound();
}
return View(p);
}
視圖:
@foreach (var p in ViewBag.ImgRev)
{
<div>
<img src="~/Files/" + @p /></div>
}
linq語句在分配給ViewBag
之前將沒有評估。
嘗試:
控制器:
ViewBag.ImgRev = query.ToList();
視圖:
@ {
var imgList = ViewBag.ImgRev as IEnumerable<string>;
}
@foreach (var p in imgList)
{
<div><img src="~/Files/" + @p /></div>
}
使用ViewModel的替代方法:
public class SomePageViewModel
{
public Persons Persons { get; set; }
public IEnumerable<string> Files { get; set; }
}
控制器:
...
var model = new SomePageViewModel { Persons = p, Files = query.ToList() };
return model;
視圖:
@foreach (var file in Model.Files)
{
<div><img src="~/Files/" + @file /></div>
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.