做了下面一颗树:
AA
|-Doing
|-Debug
|-Waiting
BB
|-Doing
|-Debug
|-Waiting
CC
|...
在SelectedNodeChanged事件中写了如佱代码:
strText = tvMain.SelectedNode.Text;
不管我点AA下面的子项中的哪个,得到的值都是:Doing; 不知为何?
------解决方案--------------------------------------------------------
表示你取的始终是第一个
你一定在pageload里把树重新绑定了
树的数据之用在pageload里绑定一次
postback的时候不要绑定!
------解决方案--------------------------------------------------------
一般这样的问题F9debug一下,问题就出来,
有时候就一点点信息表达不出问题所在
------解决方案--------------------------------------------------------
protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
TreeNode tn = new TreeNode();
tn = TreeView1.SelectedNode;
if (tn.ChildNodes.Count != 0)//如果是父亲结点
{
tn.ToggleExpandState();//切换
tn.Selected = false;
}
else
{
urlTmp = tn.Target;
this.mainPage.Attributes[ "src "] = urlTmp;
tn.Selected = false;
}
}
------解决方案--------------------------------------------------------
upup
另外,利用Nodes.Count属性可以遍历节点所含的所有子节点