// Kullandığım class
public class dizin
{
public string klasor { get; set; }
public string dosya { get; set; }
}
[System.Web.Services.WebMethod]
public static List<dizin> Dizin_Getir(string dizin)
{
System.Threading.Thread.Sleep(500);
dizin = dizin.Replace("-", "/"); // javascript ile belirlediğimiz "-" işaretini değiştiriyoruz.
if (dizin == "")
{
return new List<dizin>() { };
}
else
{
List<dizin> sonuc = new List<dizin>();
//Klasör isteği
if (dizin.EndsWith("/"))
{
System.IO.DirectoryInfo dosyalar = new DirectoryInfo(HttpContext.Current.Server.MapPath("~/" + dizin));
/*Dosyaları Alma*/
List<FileInfo> dosya_isimleri = new List<FileInfo>();
FileInfo[] dosyalarim;
dosyalarim = dosyalar.GetFiles("*.aspx"); dosya_isimleri.AddRange(dosyalarim);
dosyalarim = dosyalar.GetFiles("*.html"); dosya_isimleri.AddRange(dosyalarim);
dosyalarim = dosyalar.GetFiles("*.htm"); dosya_isimleri.AddRange(dosyalarim);
foreach (FileInfo file in dosya_isimleri)
{
sonuc.Add(new dizin() { dosya = file.Name, klasor = null });
}
/*Klasörleri Alma*/
DirectoryInfo[] klasorlerim = dosyalar.GetDirectories();
foreach (DirectoryInfo folder in klasorlerim)
{
sonuc.Add(new dizin() { dosya = null, klasor = folder.Name });
}
}
return sonuc;
}
}