C# 如何获取treenode的文本值
我有如下的树视图 我想获取treeNode的文本:C# 如何获取treenode的文本值,c#,asp.net,treeview,C#,Asp.net,Treeview,我有如下的树视图 我想获取treeNode的文本:天月年:如图所示 然后我开始编码 public List<myData> getData(TreeNode treeNode) { List<myData> lsData = new List<myData>(); foreach (TreeNode item in treeNode.Nodes) { if (item.Nod
天
月
年
:如图所示
然后我开始编码
public List<myData> getData(TreeNode treeNode)
{
List<myData> lsData = new List<myData>();
foreach (TreeNode item in treeNode.Nodes)
{
if (item.Nodes.Count != 0)
{
getData(item);
}
if (item.Level == 3)
{
myData objData = new myData();
objData.myDay = int.Parse(item.Text);
string myMonth = item.Parent.Text;
objData.myMonth = int.Parse(myMonth);
string myYear = item.Parent.Parent.Text;
objData.myYear = int.Parse(myYear);
lsData.Add(objData);
}
}
return lsData;
}
但当它返回为空时
我不知道为什么。
请告诉我您的建议使用调试器查看发生了什么。是的。我做了,但当第二轮时,调试器运行到
返回lsData
=>它使lsData
的数据变成null=>函数返回null。啊。。。您应该有lsData.AddRange(getData(item))递归部分中的代码>。否则递归子树将永远不会添加回调用作用域的lsData
实例。哦,谢谢。我的问题已经解决了使用调试器来查看发生了什么。我做了,但当第二轮时,调试器运行到返回lsData
=>它使lsData
的数据变成null=>函数返回null。啊。。。您应该有lsData.AddRange(getData(item))递归部分中的代码>。否则递归子树将永远不会添加回调用作用域的lsData
实例。哦,谢谢。我的问题已经解决了
public class myData
{
public int myYear { get; set; }
public int myMonth { get; set; }
public int myDay { get; set; }
}