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                }

posted on 2007-12-19 09:50  newr2006  阅读(787)  评论(0编辑  收藏  举报

导航