我想从数据库中检索图像列表并将它们显示在视图上。所有图像都以“图像”数据类型格式存储在数据库中。下面是我的控制器、视图模型和视图。我不确定它是否正确,所以请帮忙。我刚刚使用了 Linq2SQL,因为它只是一个示例项目。请更正我的代码,并帮助我如何在视图上显示图像列表。我只是一个初学者,所以如果你能保持解决方案简单明了,那就太好了。
视图模型:
public class ImageViewModel
{
public byte[] Image { get; set; }
public int imageId { get; set; }
public IEnumerable<int> imageList { get; set; }
}
控制器: * (更新和解决) *
public ActionResult Index()
{
var imagesList = (from q in ctx.Images
select new Models.ImageViewModel
{
imageId = q.id
}).ToList();
IEnumerable<int> imageIds = imagesList.Select(x=>x.imageId);
Models.Test obj = new Models.Test();
obj.imageList = imageIds;
return View(obj);
}
public ActionResult View(int imageId)
{
byte[] imageArray = (from q in ctx.Images
where q.id == imageId
select q.data.ToArray()).FirstOrDefault();
return File (imageArray,"image/jpg");
}
看法:
@model MvcApplication3.Models.ImageViewModel
@foreach (var id in Model.imageList)
{
<img src="@Url.Action("View", "Home", new { imageId = id},null)" />
}