use these code
protected void Page_Load(object sender, EventArgs e)
{
Response.Write(FindFolderSize(new DirectoryInfo(Server.MapPath("~")), UnitType.KB, 0).ToString() + " KB");
Response.Write(FindFolderSize(new DirectoryInfo(Server.MapPath("~")), UnitType.MB, 2).ToString() + " MB");
Response.Write(FindFolderSize(new DirectoryInfo(Server.MapPath("~")), UnitType.GB, 5).ToString() + " GB");
}
public enum UnitType { KB = 1, MB = 2, GB = 3 }
///
/// Find folder size
///
/// Target folder
/// Unit type [KB, MB, GB]
/// Number to digits to round up
///
public double FindFolderSize(DirectoryInfo d, UnitType u, int r)
{
double divider = Math.Pow(1024, (int)u);
double size = 0;
foreach (FileInfo f in d.GetFiles())
size += Convert.ToDouble(f.Length) / divider;
foreach (DirectoryInfo c in d.GetDirectories())
size += this.FindFolderSize(c, u, r);
return Math.Round(size, r);
}