我的程序只显示出磁盘下面第一级的目录,但目录里面的子目录就显示不出来了。俺没有什么分。不过懂的高手。。请帮忙看看吧。小女子感激不尽。。我郁闷了几天了。页面上只有一个TreeView1控件。
using System.IO; namespace WebApplication1
{
public partial class WebForm4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
fillTree();
}
private void fillTree()
{
TreeView1.Nodes.Clear();
TreeNode node = new TreeNode("我的电脑");
this.TreeView1.Nodes.Add(node); //加入一个我的电脑节点
string[] str = Directory.GetLogicalDrives();
for (int k = 0; k < str.Length; k++)
{
TreeNode drivesNode = new TreeNode(str[k]);
node.ChildNodes.Add(drivesNode);//加入本地磁盘
drivesNode.SelectAction = TreeNodeSelectAction.SelectExpand;
// drivesNode.PopulateOnDemand = true;
drivesNode.NavigateUrl = "#";
drivesNode.Expanded = false;//true 为展开节点
DirectoryInfo thisOne = new DirectoryInfo(str[k]);//在指定的驱动器路径中创建驱动器信息实例
if (str[k] == "A:\\" || str[k] == "F:\\" || str[k] == "G:\\")//如果为移动磁盘将不显示
drivesNode.Expanded = false;
else if (str[k] != null)
{
try
{
foreach (DirectoryInfo sub in thisOne.GetDirectories())//历遍子目录
{
TreeNode subNode = new TreeNode(sub.Name);
subNode.Value = sub.FullName;
try
{
if (sub.GetDirectories().Length > 0 || sub.GetFiles().Length > 0)
{
subNode.SelectAction = TreeNodeSelectAction.SelectExpand;
subNode.PopulateOnDemand = true;
subNode.NavigateUrl = "#";
}
}
catch
{
subNode.ImageUrl = "WebResource.axd?a=s&r=TreeView_XP_Explorer_ParentNode.gif&t=632242003305625000";
}
drivesNode.ChildNodes.Add(subNode);//加入子目录
}
foreach (FileInfo fi in thisOne.GetFiles())//历遍文件
{
TreeNode subNode = new TreeNode(fi.Name);
drivesNode.ChildNodes.Add(subNode);
}
}
catch
{
continue;
}
}
}
} }
}
using System.IO; namespace WebApplication1
{
public partial class WebForm4 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
fillTree();
}
private void fillTree()
{
TreeView1.Nodes.Clear();
TreeNode node = new TreeNode("我的电脑");
this.TreeView1.Nodes.Add(node); //加入一个我的电脑节点
string[] str = Directory.GetLogicalDrives();
for (int k = 0; k < str.Length; k++)
{
TreeNode drivesNode = new TreeNode(str[k]);
node.ChildNodes.Add(drivesNode);//加入本地磁盘
drivesNode.SelectAction = TreeNodeSelectAction.SelectExpand;
// drivesNode.PopulateOnDemand = true;
drivesNode.NavigateUrl = "#";
drivesNode.Expanded = false;//true 为展开节点
DirectoryInfo thisOne = new DirectoryInfo(str[k]);//在指定的驱动器路径中创建驱动器信息实例
if (str[k] == "A:\\" || str[k] == "F:\\" || str[k] == "G:\\")//如果为移动磁盘将不显示
drivesNode.Expanded = false;
else if (str[k] != null)
{
try
{
foreach (DirectoryInfo sub in thisOne.GetDirectories())//历遍子目录
{
TreeNode subNode = new TreeNode(sub.Name);
subNode.Value = sub.FullName;
try
{
if (sub.GetDirectories().Length > 0 || sub.GetFiles().Length > 0)
{
subNode.SelectAction = TreeNodeSelectAction.SelectExpand;
subNode.PopulateOnDemand = true;
subNode.NavigateUrl = "#";
}
}
catch
{
subNode.ImageUrl = "WebResource.axd?a=s&r=TreeView_XP_Explorer_ParentNode.gif&t=632242003305625000";
}
drivesNode.ChildNodes.Add(subNode);//加入子目录
}
foreach (FileInfo fi in thisOne.GetFiles())//历遍文件
{
TreeNode subNode = new TreeNode(fi.Name);
drivesNode.ChildNodes.Add(subNode);
}
}
catch
{
continue;
}
}
}
} }
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货