这可能是一个已解决的问题或一个简单的问题。如果有人可以帮我解决这个问题会很棒。
我正在使用Silverlight和WebServices创建一种文件夹资源管理器。我正在获取从Web服务填充文件夹树视图所需的数据,我正在使用Silverlight来显示它。
这是我的问题。
我能够获得直到第2级的文件夹。
我尝试递归获取文件夹。使用Web服务没有运气。这是我的代码:
public ObservableCollection<FolderDetails> FoldersInFolder(string UserName, string Password, string url, string FolderName)
{
Test(UserName, Password, url);
ObservableCollection<FolderDetails> Folders = new ObservableCollection<FolderDetails>();
string Temp;
for (int i = 0; i < FoldersOnly.Count; i++)
{
if (FoldersOnly[i].Contains(FolderName + "/"))
{
Temp = FoldersOnly[i].Substring(FoldersOnly[i].IndexOf("/") + 1);
if (Temp.Contains("/") == false)
{
// This is where I guess I need some help.
Folders.Add(new FolderDetails()
{
FolderWebUrl = url + "/" + FoldersOnly[i],
FolderUrl = FoldersOnly[i],
FolderName = Temp,
ChildFiles = FilesInFolder(UserName, Password, url, Temp),
ChildFolders = FoldersInFolder(UserName, Password, url, Temp)
});
}
}
else
{
continue;
}
}
return Folders;
}
此处, FolderDetails 是一个类,它提供有关文件夹(文件夹中的文件夹名称,文件和子文件夹)的信息。 用户名和密码用于验证目的(没问题)。
FoldersOnly 是目录中所有文件夹的信息的可观察集合。 url 是目录的基本网址。
谢谢!