TreeView实现资源管理器
using System;
using System.Data;
using System.Configuration;
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;
using System.IO;
using System.Collections;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!this.IsPostBack)
{
foreach(DriveInfo dv in DriveInfo.GetDrives() )//得到系统驱动目录
{
TreeNode node = new TreeNode();
node.Text = dv.Name;
node.PopulateOnDemand = true;//允许动态填充树,就是在C盘盘符变显示+号
node.ShowCheckBox = true;
TreeView1.Nodes[0].ChildNodes.Add(node);//在我的电脑节点下填充
}
}
}
//节点展开时填充下级
protected void TreeView1_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
if (e.Node.ChildNodes.Count == 0)
{
DirectoryInfo info = new DirectoryInfo(e.Node.Value);
foreach (DirectoryInfo directory in info.GetDirectories())//得到当前选定节点下的文件夹
{
TreeNode newnode = new TreeNode();
newnode.PopulateOnDemand = true;
newnode.Text = directory.Name;
newnode.Value = directory.FullName;
newnode.ImageUrl = "~/img/未命名.jpg";
newnode.ShowCheckBox = true;//增加复选框
e.Node.ChildNodes.Add(newnode);
}
foreach (FileInfo file in info.GetFiles())//继续遍历文件夹下的文件
{
TreeNode newnode = new TreeNode();
newnode.Text = file.Name;
newnode.Value = file.FullName;
e.Node.ChildNodes.Add(newnode);
}
}
}
protected void TreeView1_TreeNodeCheckChanged(object sender, TreeNodeEventArgs e)
{
TreeView1.PopulateNodesFromClient = false;
if (e.Node.Checked)
{
foreach (TreeNode nd in e.Node.ChildNodes)
{
nd.Checked = true;
}
}
}
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
Session["path"] = TreeView1.SelectedNode.Value;
Response.Write("<script language='JavaScript'>window.open('Right.aspx')</script>");
}
}