You can use the following code function to display a list of directories including all subdirectories.
//Remember to import this namespace using System.IO; //This function will return a list of string and you have the option to recursive the subdirectories. public List<string> ListDirectories(string path, bool recursive) { List<string> dirList = new List<string>(); string[] dirInfo = null; string appPath = Server.MapPath(path); string tempDir = ""; dirInfo = Directory.GetDirectories(appPath); if (dirInfo.Length > 0) { int index = 0; foreach (string dir in dirInfo) { if (dir.Length > appPath.Length) { try { tempDir = dir.Substring(appPath.Length, dir.Length - appPath.Length); dirList.Add(tempDir.Replace("\\", "/")); if (recursive) { ListSubDirectories(dir, path, dirList); } } catch { } } index = 1; } } return dirList; } public void ListSubDirectories(string fullPath, string relativePath, List<string> dirList) { string[] subdirInfo = null; subdirInfo = Directory.GetDirectories(fullPath); string folderDirectory = relativePath; string appPath = HttpContext.Current.Server.MapPath(folderDirectory); string tempDir = ""; if (subdirInfo.Length > 0) { foreach (string subdir in subdirInfo) { if (subdir.Length > appPath.Length) { tempDir = subdir.Substring(appPath.Length, subdir.Length - appPath.Length); dirList.Add(tempDir.Replace("\\", "/")); ListSubDirectories(subdir, relativePath, dirList); } } } }