日期:2014-05-19  浏览次数:20568 次

Treeview中,在SelectedNodeChanged事件中取值问题?
做了下面一颗树:
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属性可以遍历节点所含的所有子节点