显示列表图像从数据库在剃刀

本文关键字:剃刀 数据库 列表 图像 显示 | 更新日期: 2023-09-27 17:52:54

我正在做一个ASP。. NET应用程序,我使用Razor,我想在我的视图中显示多个图像。我已经在数据库中存储了这些图像。我的代码只能显示一个图像。

我在数据库中有一个表,它有以下内容:- Id,图像,…并且我想只显示图像,我试图在索引中显示图像,我在视图中有以下内容:

 <img src="@Url.Action("GetImage", "Image", new {id=3})"  />  

在ImageController中我有:

public ActionResult GetImage(int id)
{
using (var db = new Bd_scanitEntities())
{
var firstOrDefault = db.ImgOrgSet.Where(
                                        c => c.Id == id).FirstOrDefault();
if (firstOrDefault != null)
   if (firstOrDefault != null)
      {
       byte[] image = firstOrDefault.image;
       return File(image, "image/jpg");
       }
       else
       {
        return null;
       }
}
return View();
}

你能帮我显示数据库中包含的所有图像吗

显示列表图像从数据库在剃刀

在您的视图中做一个for循环并调用id= index的Action方法。如果你给我看你的视图代码,我可以用你的代码显式地解释我的解释如果数据库中表中的id不是递增的,最好使用foreach循环。假设您删除了一个图像,然后在表中添加了另一个图像。我认为该指标不符合Count的性质。

1方法

从数据库中获取ImagesList,就像你从action中获取ImagesList一样,并动态填充它们,这里是一段代码,它会给你一些想法,如何完成:

@foreach(var ID in Ids)
{
<img src="@Url.Action("GetImage", "Image", new {id=ID})"  /> 
}

第二方法

另一种方法是,而不是将图像存储在数据库中,存储其路径,并在运行时呈现它们,使用相同的方式,只是传递路径在src属性