显示MVC中文件夹中的所有图像。 带着foreach
我想将我的文件夹“Images_uploads”文件夹中的所有图片显示到MVC视图中。 所以它在网站上显示。 但似乎没有任何作用..
{ <List li = ViewData["~/images_upload"] as List; foreach (var picture in li) }
您可能应该在控制器中执行此类操作。 使用EnumerateFiles
获取文件夹中所有文件的列表:
// controller public ActionResult MyAction() { ... ViewBag.Images = Directory.EnumerateFiles(Server.MapPath("~/images_upload")) .Select(fn => "~/images_upload/" + Path.GetFileName(fn)); return View(...); } // view @foreach(var image in (IEnumerable)ViewBag.Images)) { }
更好的是,使用强类型视图模型,如下所示:
// model class MyViewModel { public IEnumerable Images { get; set; } } // controller public ActionResult MyAction() { var model = new MyViewModel() { Images = Directory.EnumerateFiles(Server.MapPath("~/images_upload")) .Select(fn => "~/images_upload/" + Path.GetFileName(fn)) }; return View(model); } // view @foreach(var image in Model.Images) { }