为什么我在TreeView1_SelectedNodeChanged里设置了TreeView1.SelectNode.NavigateUrl的值,运行后第一次点击叶节点没反应,第二次点击才能导航到相应的面呢?

解决方案 »

  1.   

    直接在treeview中就可以直接设置每个节点的跳转页面,这样设的话,就不会这样了
      

  2.   

     if (!IsPostBack)
            {
                //填充第一级节点            ViewState["index"] = "";
                DataView dv = drv("select * from Master");
                foreach (DataRowView datav in dv)
                { //循环数据视图,将对应值交给一个节点对象
                    TreeNode tn = new TreeNode();
                    tn.Text = datav["sickness"].ToString();
                    tn.Value = datav["id"].ToString();
                    tn.Expanded = true;
                    TreeView1.Nodes.Add(tn);
                    tn.PopulateOnDemand = true;
                    tn.SelectAction = TreeNodeSelectAction.Expand;
                    AddchildNodes(tn);            }
            }
    上面是数据库的绑定,如果在那里设置NavigateUrl属性,点击节点时就不会触发下面的事件,我想点击节点时传个参数protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
        {        //string a = TreeView1.SelectedNode.DataItem.ToString ();
            TreeView1.SelectedNode.NavigateUrl = "Main.aspx?id=" + TreeView1.SelectedNode.Value;
          
        }