<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
foreach (System.IO.DriveInfo drive in System.IO.DriveInfo.GetDrives())
{
TreeNode node = new TreeNode();
node.Value = drive.Name;
if (drive.IsReady)
node.Text = drive.Name + " - (free space: " + drive.AvailableFreeSpace + ")";
else
node.Text = drive.Name + " - (not ready)";
this.TreeView1.Nodes.Add(node);
}
}
private void LoadDirectories(TreeNode parent, string path)
{
System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(path);
try
{
foreach (System.IO.DirectoryInfo d in directory.GetDirectories())
{
TreeNode node = new TreeNode(d.Name, d.FullName);
parent.ChildNodes.Add(node);
LoadDirectories(node, d.FullName);
}
}
catch (System.UnauthorizedAccessException e)
{
parent.Text += " (Access Denied)";
}
catch (Exception e)
{
parent.Text += " (Unknown Error: " + e.Message + ")";
}
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
System.IO.DirectoryInfo directory = new System.IO.DirectoryInfo(this.TreeView1.SelectedNode.Value);
this.GridView1.DataSource = directory.GetFiles();
this.GridView1.DataBind();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td valign="top">
<asp:TreeView ID="TreeView1"
runat="server"
OnSelectedNodeChanged="TreeView1_SelectedNodeChanged">
</asp:TreeView>
</td>
<td valign="top">
<asp:GridView ID="GridView1"
runat="server"
AutoGenerateColumns="False"
GridLines="None" CellPadding="3">
<Columns>
<asp:BoundField DataField="Name" HeaderText="Name"
HeaderStyle-HorizontalAlign="Left"
HeaderStyle-Font-Bold="true" />
<asp:BoundField DataField="Length" HeaderText="Size"
ItemStyle-HorizontalAlign="Right"
HeaderStyle-HorizontalAlign="Right"
HeaderStyle-Font-Bold="true" />
<asp:BoundField DataField="LastWriteTime"
HeaderText="Date Modified"
HeaderStyle-HorizontalAlign="Left"
HeaderStyle-Font-Bold="true" />
</Columns>
</asp:GridView>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
|