C# ASP.NET TreeView+;AJAX
我有一个用来显示目录结构的树状视图。我试图通过在节点扩展上加载子节点来减少加载时间。有办法做到这一点吗 下面是我当前用于填充treeview的代码: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
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框架一样;树状视图代码,以及您得到的项目数量。