[转]Asp.net 2.0 Treeview 无限级无刷新示例

<%@ Page Language="C#" %>

<%@ Import Namespace="System.IO" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<script runat="server">

void Treeview1_TreeNodePopulate(object sender, TreeNodeEventArgs e)

{

if (IsCallback)

if (e.Node.ChildNodes.Count == 0)

{

LoadChildNode(e.Node);

}

}

private void LoadChildNode(TreeNode node)

{

DirectoryInfo directory;

directory = new DirectoryInfo(node.Value);

foreach (DirectoryInfo sub in directory.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"; }

node.ChildNodes.Add(subNode);

}

foreach (FileInfo fi in directory.GetFiles())

{

TreeNode subNode = new TreeNode(fi.Name);

node.ChildNodes.Add(subNode);

}

}

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">

<title>Untitled Page</title>

</head>

<body bgcolor="white">

<form >Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1490331