TreeView 控件选中不对的点变色的处理方法

 <asp:TreeView ID="treeAdmin" runat="server">
        
<Nodes>
             
<asp:TreeNode NavigateUrl="~/MasterPage/Default.aspx?Home=Home" Text="<%$ Resources:Share,Home %>"  Value="Home"></asp:TreeNode> 
         </Nodes>
  
</asp:TreeView>


 1   string  home  =  Request.QueryString[ " Home " ];
 2              TreeView treeview  =  (TreeView)LoginView12.FindControl( " treeAdmin " );
 3              if ( string .IsNullOrEmpty(home))
 4              {
 5                return;
 6            }

 7              // select node style
 8               if  (Request.Url.ToString().Contains( " childnodeName " ))
 9               {
10                 treeview.ExpandDepth = 1;
11                 TreeNode treenod = (TreeNode)treeview.FindNode("childnodeNames");
12                 foreach (TreeNode tre in treenod.ChildNodes)
13                 {
14                     if (tre.Value == home)
15                     {
16                         tre.Selected = true;
17                         break;
18                     }

19                 }

20             }

21               else
22               {
23                 foreach (TreeNode treenode in treeview.Nodes)
24                 {
25                     if (treenode.Value == home)
26                     {
27                         treenode.Selected = true;
28                         break;
29                     }

30                 }

31               //  treeview.FindNode(home).Selected = true;
32             }
            

或者:
 1    string  home  =  Request.QueryString[ " Home " ];
 2              TreeView treeview  =  (TreeView)LoginView12.FindControl( " treeAdmin " );
 3              if ( string .IsNullOrEmpty(home))
 4              {
 5                return;
 6            }

 7              foreach  (TreeNode treenode  in  treeview.Nodes)
 8              {
 9               
10                if(treenode.Value == home)
11                {
12                    treenode.Selected = true;
13                    break;
14                }

15                else if (treenode.ChildNodes.Count > 0)
16                {
17
18                    foreach (TreeNode node in treenode.ChildNodes)
19                    {
20                        if (node.Value == home)
21                        {
22                            node.Selected = true;
23                            treeview.ExpandDepth = 1;
24                            break;
25                        }

26                    }

27                }

你可能感兴趣的:(treeview)