Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/265.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# 如何在TreeView中迭代_C#_Asp.net - Fatal编程技术网

C# 如何在TreeView中迭代

C# 如何在TreeView中迭代,c#,asp.net,C#,Asp.net,我有TreeView Web控件,比如 1 1.1 2 2.1 2.1.1 2.1.1.1 2.1.1.2 3 3.1 3.1.1 如果我选中了[CheckBox]2.1.1.2节点,如何获得类似于2,2.1,2.1.1和2.1.1.2的结果 我试着用这个例子,但它没有给我要求的输出。任何帮助或指示如何实现所需的输出将不胜感激 private void PrintRecursive(TreeNode treeNode)

我有TreeView Web控件,比如

1
  1.1
2
  2.1
     2.1.1
          2.1.1.1
          2.1.1.2
3
  3.1 
     3.1.1
如果我选中了[CheckBox]2.1.1.2节点,如何获得类似于2,2.1,2.1.1和2.1.1.2的结果
我试着用这个例子,但它没有给我要求的输出。任何帮助或指示如何实现所需的输出将不胜感激

private void PrintRecursive(TreeNode treeNode)
{
   // Print the node.
   System.Diagnostics.Debug.WriteLine(treeNode.Text);
   MessageBox.Show(treeNode.Text);
   // Print each node recursively.
   foreach (TreeNode tn in treeNode.ChildNodes)
   {
      PrintRecursive(tn);
   }
}

// Call the procedure using the TreeView.
private void CallRecursive(TreeView treeView)
{
   // Print each node recursively.
   TreeNodeCollection nodes = treeView.CheckedNodes; // Modified to get the Checked Nodes
   foreach (TreeNode n in nodes)
   {
      PrintRecursive(n);
   }
}
var Text=新列表{treeNode.Text};
while(treeNode.Parent!=null)
{
text.Add(treeNode.Parent);
treeNode=treeNode.Parent;
}
//反转以获得所需的树布局
文本。反向();
var result=string.Join(“\r\n”,文本);
或者,如果需要父节点本身,则从第一级父节点到根父节点,包括自节点:

var parents = new List<TreeNode> { treeNode };

while (treeNode.Parent != null)
{
    parents.Add(treeNode.Parent);
    treeNode = treeNode.Parent;
}

// Now parents contains the results. Do whatever you want with it.
var parents=新列表{treeNode};
while(treeNode.Parent!=null)
{
parents.Add(treeNode.Parent);
treeNode=treeNode.Parent;
}
//现在,家长包含了结果。你想用它做什么就做什么。

这有什么不起作用?你能发布输出吗?非常感谢你对我的代码稍加修改,我能够获得所需的输出。
var parents = new List<TreeNode> { treeNode };

while (treeNode.Parent != null)
{
    parents.Add(treeNode.Parent);
    treeNode = treeNode.Parent;
}

// Now parents contains the results. Do whatever you want with it.