我试图从文件夹加载图像,然后将它们插入标签。
现在,我从另一个问题中得到了这个:
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;
}
但它没有返回图像,只返回文件夹路径。
答案 0 :(得分: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;
}
答案 1 :(得分:1)
这是因为你返回了图像路径..你可能想要你正在制作的ArrayList。
变化:
return imPath;
为:
return arrayList;
并改变:
public string GetImage()
为:
public ArrayList GetImage()
我还建议重新命名那个arraylist,并在提问之前尝试做更多的研究。如果您了解回报是什么,您就会知道问题所在。
正如您可以阅读问题的评论,您不应该使用ArrayList。我不是C#的专家,因此必须得到其他人的回答。