。Net中关于treeView事件---SelectedNodeChanged

来源:百度知道 编辑:UC知道 时间:2024/06/22 15:43:06
根1
父1
子1
子2
子3
父2
根2
父1
父2
我的treeView大概结构就是上面这个样子的,要求的功能是:
选择子节点后,把子节点的文本显示到TextBox上,选择根节点或是父节点,会给出提示:“请选择子节点”。我的代码如下:
protected void tvPrincipalUser_SelectedNodeChanged(object sender, EventArgs e)
{
TreeNode treeNode = tvPrincipalUser.SelectedNode;
this.Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('"+treeNode.Text+"')</script>");
if (treeNode != null)
{
if (tvPrincipalUser.SelectedNode.Parent != null && tvPrincipalUser.SelectedNode.Parent.Parent != null)
{
txtPrincipalUser.Text = tvPrincipalUser.SelectedNode.Text;
divTreeView.Visible = false;

}
else
{
this.Page.ClientScript.RegisterStartupS

答案知道了╮(╯▽╰)╭,我自问自答吧。。o(╯□╰)o。别浪费分数o(╯□╰)o。
因为创建TreeView节点的时候没有设置节点的Value值或是节点的Value相同,即时你在只想点击节点的文本后显示在TextBox上,只设置节点文本是不行的。
重新设置TreeView节点的Value就不会出现这种问题。
这样selectnode就不会因为由其他节点有相同的Value而造成误会。

测试了下,已经解决。o(╯□╰)o。。