.NET 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&;amp;r=TreeView_XP_Explorer_ParentNode.gif&;amp;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 id="form1" runat="server">
                           <div>
                           <asp:treeview ID="Treeview1" runat="server" ImageSet="XPFileExplorer" AutoGenerateDataBindings="false" ExpandDepth=0
                               OnTreeNodePopulate="Treeview1_TreeNodePopulate"
                           >
                               <SelectedNodeStyle BackColor="#B5B5B5"></SelectedNodeStyle>
                               <Nodes>
                                   <asp:TreeNode Value="C:" Text="C:" PopulateOnDemand="true" SelectAction="Select" NavigateUrl="#" >
                                   </asp:TreeNode>
                               </Nodes>
                               <NodeStyle VerticalPadding="2" Font-Names="Tahoma" Font-Size="8pt" HorizontalPadding="2"
                                   ForeColor="Black"></NodeStyle>
                               <HoverNodeStyle Font-Underline="True" ForeColor="#6666AA"></HoverNodeStyle>
                           </asp:treeview>
                           </div>
                           </form>
                        </body>
                        </html>

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [Asp.Net] 的这些文章也感兴趣:

asp.net中读取数据库的两种方式
VS.NET下web项目源代码管理
充分利用ASP.NET的三种缓存提高站点性能的注意方法
ASP.Net的Application
仿163网盘无刷新文件上传系统
利用JS在asp.net中实现左导航页的隐藏
ASP.NET2.0 SQL Server2005构建多层应用
基于ASP.NET Web Application的插件实现,附DEMO
使用函数传递参数来执行数据库操作
图片服务器上图片的管理网站上传与前台显示