File Directory ASP.Net Tutorial

<%@ Page Language="VB" %>


    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
        For Each drive As System.IO.DriveInfo In System.IO.DriveInfo.GetDrives()
            Dim node As TreeNode = New TreeNode()
            node.Value = drive.Name
            If (drive.IsReady) Then
                node.Text = drive.Name & " - (free space: " & drive.AvailableFreeSpace & ")"
                LoadDirectories(node, drive.Name)
            Else
                node.Text = drive.Name & " - (not ready)"
            End If
            Me.TreeView1.Nodes.Add(node)
        Next
        
        Me.TreeView1.CollapseAll()
        
    End Sub
    
    Private Sub LoadDirectories(ByVal parent As TreeNode, ByVal path As String)
        
        Dim directory As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(path)
        
        Try
            For Each d As System.IO.DirectoryInfo In directory.GetDirectories()
            
                Dim node As TreeNode = New TreeNode(d.Name, d.FullName)
                parent.ChildNodes.Add(node)
                LoadDirectories(node, d.FullName)
            Next
        Catch ex As System.UnauthorizedAccessException
            parent.Text += " (Access Denied)"
        Catch ex As Exception
            parent.Text += " (Unknown Error: " + ex.Message + ")"
        End Try
    End Sub
    Protected Sub TreeView1_SelectedNodeChanged _
        (ByVal sender As Object, ByVal e As System.EventArgs)
        Dim directory As System.IO.DirectoryInfo = New System.IO.DirectoryInfo(Me.TreeView1.SelectedNode.Value)
        Me.GridView1.DataSource = directory.GetFiles()
        Me.GridView1.DataBind()
    End Sub



    Untitled Page


    
    

        
            
                
                                
            
        

                                           OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
                   
                

                                             AutoGenerateColumns="False" GridLines="None" CellPadding="3">
                        
                                                             HeaderStyle-HorizontalAlign="Left" 
                                 HeaderStyle-Font-Bold="true" />
                                                             ItemStyle-HorizontalAlign="Right" 
                                 HeaderStyle-HorizontalAlign="Right" 
                                 HeaderStyle-Font-Bold="true" />
                                                             HeaderText="Date Modified" 
                                 HeaderStyle-HorizontalAlign="Left" 
                                 HeaderStyle-Font-Bold="true" />