在View中显示文件夹中的图像

时间:2013-12-25 17:39:29

标签: c# asp.net-mvc

我在使用应用程序中的文件夹显示图像时遇到问题。 我一直在寻找并发现这个帖子Display all images in a folder in MVC. With a foreach

我尝试使用viewmodel实现建议,我的代码看起来像这样。

视图模型

public class ListBooksViewModel
{
    public IEnumerable<string> Images { get; set; }
}

控制器

public ActionResult _ListBooks()
{
    var model = new ListBooksViewModel()
    {
      Images = Directory.EnumerateFiles(Server.MapPath("~/BookImageStorage")).Select(fn =>"~/BookImageStorage" + Path.GetFileName(fn))
    };

        return PartialView(model);
    }

查看

@model How.ViewModels.ListBooksViewModel
@foreach (var image in Model.Images)
{
    <img src="@Url.Content(image)" />
}

我的问题是我没有得到任何显示的图片,但我会为我的文件夹中的每个图像获取图像的图标,并且没有错误.. 任何人都可以向我解释为什么会发生这种情况并帮助我解决问题。

对你们这些人来说,圣诞快乐和圣诞节庆祝它。

1 个答案:

答案 0 :(得分:0)

在文件夹名称和文件名之间添加斜杠。(Path.GetFileName(fn)之前)。这应该有用。

public ActionResult _ListBooks()
{
    var model = new ListBooksViewModel()
    {
        Images = Directory.EnumerateFiles(Server.MapPath("~/BookImageStorage"))
                   .Select(fn => "~/BookImageStorage" + "/"+Path.GetFileName(fn))
    };
    return PartialView(model);
}