我在使用应用程序中的文件夹显示图像时遇到问题。 我一直在寻找并发现这个帖子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)" />
}
我的问题是我没有得到任何显示的图片,但我会为我的文件夹中的每个图像获取图像的图标,并且没有错误.. 任何人都可以向我解释为什么会发生这种情况并帮助我解决问题。
对你们这些人来说,圣诞快乐和圣诞节庆祝它。答案 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);
}