在ASP.NET MVC中以“详细信息”视图显示所有图像吗?

时间:2019-01-25 23:21:51

标签: asp.net asp.net-mvc asp.net-mvc-4

我尝试在我的数据库中显示所有图像,但是由于某种原因,我不明白我无法……如果有人可以帮助我,我将不胜感激……。我是ASP中的新手.NET MVC,我知道几件事,仅此而已

我的查看详细信息

<div class="row">
    <div class="col-md-3">
        <img src="@Url.Action("PaginasComics", "Comics", new {IdC = Model.Pages})" />
    </div>
</div>

我的视图不是IEnumerable<>视图,我一直在考虑创建局部视图并放入此部分,但是我不知道是否可以使用,我也不知道如何...

控制器

    public ActionResult PaginasComics(string IdPagina)
    {
        var PaginasC = db.Paginas.Where(x => x.IdPaginaC.ToString() == IdPagina).FirstOrDefault();
        return File(PaginasC.Paginas, "imagen/jpeg", string.Format("{0}.jpg", IdPagina));

    }

这是我显示图像的方式,但是不起作用...我在模型漫画中具有与“ PORTADA”相同的代码,并且可以使用...我对数组的使用不是很好,也许这就是我所需要的需要。

模型

public class Comics
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Key]
    public int IdComics { get; set; }
    public string Titulo { get; set; } //title
    public byte[] Portada { get; set; } //cover
    public DateTime FechadeEstreno { get; set; } //date release

    public ICollection<PaginasComics> Pages { get; set; }


}

public class PaginasComics
{

    public int IdPaginaC { get; set; }
    public byte[] Paginas {get; set;}
    public int Id_Comic { get; set; } //foreig key of comics

   // here i save all the images
}

2 个答案:

答案 0 :(得分:1)

您的网址操作,您将IdC作为参数传递,但您的控制器要求提供IdPagina参数。尝试按照控制器中的要求更改网址签名

<img src="@Url.Action("PaginasComics", "Comics", new {IdPagina = Model.Pages})" />

答案 1 :(得分:0)

问题在那里,您没有在url.Action中正确使用qoutes。第二个操作方法参数名称应与您在url.action中定义的参数匹配。
我的查看详细信息

要从“操作”方法获取多张图像并在“视图”中显示,请进行以下更改:

@{
   foreach(var pageId in Model.Pages){
   <div class="row">
        <div class="col-md-3">
            <img src="@Url.Action('PaginasComics', 'Comics', new {IdPagina = pageId })" />
        </div>
    </div>
   }

 } 

要从“操作”方法获取单个图像并在“视图”中显示,请进行以下更改:

@{
   <div class="row">
        <div class="col-md-3">
            <img src="@Url.Action('PaginasComics', 'Comics', new {IdPagina = Model.Pages })" />
        </div>
    </div>
   }