-3

我试图从文件夹中加载图像,然后将它们插入到标签中。

现在我有这个我从另一个问题中得到的:

public string GetImage()
    {

        string imPath;
        imPath = HttpContext.Current.Server.MapPath("~/Layout/Images/Banner");

        DirectoryInfo directoryInfo = new DirectoryInfo(imPath);
        FileInfo[] fileInfo = directoryInfo.GetFiles();
        ArrayList arrayList = new ArrayList();

        foreach (FileInfo fi in fileInfo)
                arrayList.Add(fi.FullName);



        return imPath;
    }

但它不返回图像,只返回文件夹路径。

4

2 回答 2

2

只需添加一个答案,这样我就可以指出每个人在这里感到困惑的地方。

你在这里做了什么:

public string GetImage()
{

    string imPath;
    imPath = HttpContext.Current.Server.MapPath("~/Layout/Images/Banner");

    DirectoryInfo directoryInfo = new DirectoryInfo(imPath);
    FileInfo[] fileInfo = directoryInfo.GetFiles();
    ArrayList arrayList = new ArrayList();

    foreach (FileInfo fi in fileInfo)
            arrayList.Add(fi.FullName);


    return imPath;
}

等价于以下内容:

public string GetImage()
{
    return HttpContext.Current.Server.MapPath("~/Layout/Images/Banner");
}

这就是为什么每个人都有些困惑。

也许这就是你想要的(稍微重构一下)?

public ArrayList GetImage()
{
    DirectoryInfo directoryInfo = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/Layout/Images/Banner"));
    ArrayList arrayList = new ArrayList();

    foreach (FileInfo fi in directoryInfo.GetFiles())
            arrayList.Add(fi.FullName);

    return arrayList;
}
于 2013-07-10T15:07:33.340 回答
1

这是因为您返回了图像路径。您可能想要您正在制作的 ArrayList。

改变:

return imPath;

至:

return arrayList;

并改变:

public string GetImage()

至:

public ArrayList GetImage()

我还建议重命名该数组列表,并在提问之前尝试做更多的研究。如果您了解什么是回报,您就会知道问题所在。

正如您可以在问题的评论中看到的那样,您不应该使用 ArrayList。我不是 C# 方面的专家,因此必须由其他人来回答。

于 2013-07-10T15:05:28.860 回答