如何用javascript实现selectedchange事件,并获取treeview叶子节点的value值

解决方案 »

  1.   

    参考
    /// <summary>
            /// 初始化树
            /// </summary>
            private void InitTreeview()
            {
                this.tvData.Nodes.Clear();
                TreeNode tn = new TreeNode();
                string id = "0";
                tn.Text = "测试1";
                tn.Value = id;
                tn.NavigateUrl = "#";//tn.NavigateUrl = "";等于#不触发事件,等于"",可以触发像SelectedNodeChanged事件
                tvData.Nodes.Add(tn);
                addTreeNode(tn, dt);
            }
            //递归初始树
            private void addTreeNode(TreeNode tnParent, DataTable dtTreeNode)
            {
                for (int i = 0; i < dtTreeNode.Rows.Count; i++)
                {
                    TreeNode tn = new TreeNode();
                    string id = dtTreeNode.Rows[i]["Id"].ToString();
                    tn.Text = dtTreeNode.Rows[i]["Name"].ToString();//如果需要添加JS事件,可以通过TEXT值来实现,如:tn.text="<span onclick='close();'>name</span>"
                    tn.Value = id;
                    tn.NavigateUrl = "";
                    //tn.ShowCheckBox = true;
                    tn.NavigateUrl = "#";//tn.NavigateUrl = "";等于#不触发事件,等于"",可以触发像SelectedNodeChanged事件
                    tnParent.ChildNodes.Add(tn);
                    addTreeNode(tn, dt);
                }
            }
      

  2.   

     非常感谢您的回答,我希望treenode显示的是1,但是超链接的内容是www.baidu.com,请问上面的如何改,并且在close()能使用www.baidu.com值,    弄明白了我就结贴
      

  3.   

    tn.Text = "1";//显示
    tn.NavigateUrl = "www.baidu.com";//导航,不过一点就直接导航到百度了
    如果需要这个值
    可以考虑上面的方法
    把www.baidu.com 放到<span ID=''>,或者title中都可以
    这个在你的另外一个帖子里有参考代码了