刚开始有一个根结点,我用target 和text 代表路径
target 为 D:, text 为test 文件夹名,value设为是目录而非文件
即 d:\test的文件夹<asp:TreeView ID="TreeView1" runat="server" 
        ontreenodepopulate="TreeView1_TreeNodePopulate" 
        onselectednodechanged="TreeView1_SelectedNodeChanged">
        <Nodes>
            <asp:TreeNode Text="test" Value="目录" 
                ImageUrl="~/pictures/panel_file.ico" Target="D:">
            </asp:TreeNode>
        </Nodes>
    </asp:TreeView>

解决方案 »

  1.   

    在vs2010中,大家可以建个网页,放上一个treeview控件,加3个lable控件,
    treeview 手工加一个节点,target 设为"D:",text设为d:盘的某个文件夹名称,如"test",value 设为“目录",加上代码就可以运行了。
    protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {
            Label1.Text = TreeView1.SelectedNode.ToolTip;
            Label2.Text = TreeView1.SelectedNode.Text;
            Label3.Text = TreeView1.SelectedNode.Value;
            Label4.Text = TreeView1.SelectedNode.Target;
           
          //  Label1.Text = TreeView1.SelectedNode.Target +"\\"+ TreeView1.SelectedNode.Text;
       
           if (TreeView1.SelectedNode.Value == "目录")
            {
                if (TreeView1.SelectedNode.ChildNodes.Count == 0)
                {
                                    string s = TreeView1.SelectedNode.Target + "\\" + TreeView1.SelectedNode.Text;
                   // string dirPath = HttpContext.Current.Server.MapPath(s);
                    string dirPath = s;
                    if (Directory.Exists(dirPath))
                    {
                        //获得目录信息 
                        DirectoryInfo dir = new DirectoryInfo(dirPath);
                        //获得目录文件列表 
                        FileInfo[] files = dir.GetFiles();                    foreach (FileInfo fileInfo in files)
                        {                        TreeNode NewNode1 = new TreeNode();
                            NewNode1.Text = fileInfo.Name;
                            NewNode1.Value = fileInfo.Name;
                            NewNode1.Target = s;
                            NewNode1.ToolTip = fileInfo.Name;
                            NewNode1.PopulateOnDemand = false;
                            NewNode1.ImageUrl = "~/pictures/chat_tbex_history_nor.ico";
                            TreeView1.SelectedNode.ChildNodes.Add(NewNode1);
                        }
                        DirectoryInfo[] childpaths = dir.GetDirectories();                    foreach (DirectoryInfo apath in childpaths)
                        {                       TreeNode NewNode = new TreeNode();
                            NewNode.Text = apath.Name;
                            NewNode.Value = "目录";
                            NewNode.ToolTip = apath.Name;
                            NewNode.Target = s;
                            NewNode.ImageUrl = "~/pictures/panel_file.ico";
                            NewNode.PopulateOnDemand = false;
                            TreeView1.SelectedNode.ChildNodes.Add(NewNode);                    }
                    }  //             }        }
            else
            {
             //  downLoad(TreeView1.SelectedNode.Target, TreeView1.SelectedNode.Text);
            }
          
        }