遍历网站相对路径以查找文件(ASP.NET MVC 3)

3

我有一个文件夹在我的Web应用程序(ASP.NET MVC 3)中,其中包含一组图像。我想使用foreach循环来遍历文件夹,以获取站点相对路径,然后将其附加到图像标记上。

例如

<div class="slides">
@foreach(string file in ?????)
{
    <img src="@file" alt="filename without extension">
}
</div>

我该怎么做?

注意:我的当前foreach循环正在尝试查找物理路径并返回此错误。

Could not find a part of the path 'C:\Content\Images\Photography\Slides\'.

3
这种活动应该在控制器或甚至模型层面完成,对吗?即将URI的iEnumerable传递给视图。 - Christopher Bales
@ChristopherBales,我理解你的观点,但无论如何,这并不能解决问题。 - Matthew Layton
检查文件夹是否存在,并且当前进程是否有读取它的权限。在你让它工作后,遵循@ChristopherBales给你的建议。 - Cristian Lupascu
@w0lf,难道在Web文件夹中没有类似于Directory.GeFiles的等效方法吗? - Matthew Layton
你尝试过HttpContext.Current.Server.MapPath吗? - Ikaso
@lkaso,是的,我解决了...有点。 - Matthew Layton
1个回答

8
假设您想枚举与网站根目录相关的路径中的文件,则可以执行以下操作:
@foreach (var file in 
    Directory.GetFiles(Server.MapPath("~/Content/Images/Photography/Slides")))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接