Asp Control ASP.Net

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Chapter_VII_DirectoryTreeView" %>



    Directory Tree View


    
                    runat="server" 
                 SelectedNodeStyle-ForeColor="Green"
                 SelectedNodeStyle-VerticalPadding="0"
                 ShowCheckBoxes="Leaf"
                 BackColor="White" 
                 Font-Size="Medium"  
                 ForeColor="Blue">
    


File: Default.aspx.cs
using System;
using System.IO;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class Chapter_VII_DirectoryTreeView : System.Web.UI.Page
{
   protected void Page_Load(object sender, EventArgs e)
  {
    if (!IsPostBack)
    {
            String directoryPath = "C:\\";
            DirectoryInfo directoryInfo = new System.IO.DirectoryInfo(directoryPath);
            if (directoryInfo != null)
            {
                TreeNode rootDirectoryNode = CreateDirectoryTreeView(directoryInfo, null);
                if (rootDirectoryNode != null)
                    TreeView1.Nodes.Add(rootDirectoryNode);
            }
    }
  }
    TreeNode CreateDirectoryTreeView(DirectoryInfo directoryInfo, TreeNode parentNode)
  {
        TreeNode baseNode = new TreeNode(directoryInfo.Name);        
        DirectoryInfo[] subDirectories = directoryInfo.GetDirectories();
        FileInfo[] filesInDirectory = directoryInfo.GetFiles();
        for (int i = 0, n = subDirectories.Length; i < n; i++)
            CreateDirectoryTreeView(subDirectories[i], baseNode);
        
        for (int ctr = 0, cnt = filesInDirectory.Length; ctr < cnt; ctr++)
        {
            TreeNode childNode = new TreeNode(filesInDirectory[ctr].Name);
            baseNode.ChildNodes.Add(childNode);
        }
    if (parentNode == null)
       return baseNode;
    
        parentNode.ChildNodes.Add(baseNode);
        return parentNode;
  }
}