天天看点

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 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>

继续阅读