Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET TreeView+;AJAX_C#_Asp.net_Ajax - Fatal编程技术网

C# ASP.NET TreeView+;AJAX

C# ASP.NET TreeView+;AJAX,c#,asp.net,ajax,C#,Asp.net,Ajax,我有一个用来显示目录结构的树状视图。我试图通过在节点扩展上加载子节点来减少加载时间。有办法做到这一点吗 下面是我当前用于填充treeview的代码: protected void Page_Load(object sender, EventArgs e) { BuildTree(Request.QueryString["path"]); } private void BuildTree(string dirPath) { //get root directory Syst

我有一个用来显示目录结构的树状视图。我试图通过在节点扩展上加载子节点来减少加载时间。有办法做到这一点吗

下面是我当前用于填充treeview的代码:

protected void Page_Load(object sender, EventArgs e) {
    BuildTree(Request.QueryString["path"]);
}
private void BuildTree(string dirPath)
{
    //get root directory
    System.IO.DirectoryInfo rootDir = new System.IO.DirectoryInfo(dirPath);

    //create and add the root node to the tree view
    TreeNode rootNode = new TreeNode(rootDir.Name, rootDir.FullName);
    TreeView1.Nodes.Add(rootNode);

    //begin recursively traversing the directory structure
    TraverseTree(rootDir, rootNode);
}
private void TraverseTree(System.IO.DirectoryInfo currentDir, TreeNode currentNode)
{
    //loop through each sub-directory in the current one
    foreach (System.IO.DirectoryInfo dir in currentDir.GetDirectories())
    {
            //create node and add to the tree view
            TreeNode node = new TreeNode(dir.Name, dir.FullName);
            currentNode.ChildNodes.Add(node);

            //recursively call same method to go down the next level of the tree
            TraverseTree(dir, node);
    }

    foreach (System.IO.FileInfo file in currentDir.GetFiles())
    {
        TreeNode node = new TreeNode(file.Name, file.FullName);
        currentNode.ChildNodes.Add(node);
    }
}

用于按需加载节点,这意味着仅当父节点展开时才会加载节点的子节点。执行以下步骤:

1-将值设置为0。这消除了
TreeView
中添加的
TreeNode
对象的扩展,并在每个
TreeNode
属性设置为true的
TreeNode
旁边显示扩展符号[+]

2-为每个分支
TreeNode
将设置为True。当
TreeNode.ChildNodes
集合为空时,扩展符号[+]将仅显示在
TreeNode.PopulateOnDemand
属性设置为true的
TreeNode
对象旁边

3-处理事件以在展开时插入分支节点。当
TreeNode
TreeNode.PopulateOnDemand
设置为true的
TreeView.TreeNodeExpanded
事件在激发之前展开时,将激发此事件


来源:

@RenanMalkeStigliani你能详细说明一下吗?你的问题太抽象了,请提供更多细节,就像你目前用来加载树状视图的任何JavaScript框架一样;树状视图代码,以及您得到的项目数量。