Странное поведение Asp.net Treeview

Я работаю с древовидным представлением и вижу, что могу получить выбранный узел, но когда я пытаюсь найти его в TreeView, я не могу его найти, потому что TreeView.Nodes имеет только rootNode. Что происходит?

Я делаю это тем же методом:

  • Сначала я получаю SelectedNode и
  • затем я пытаюсь получить его индекс с помощью TreeView.Nodes.IndexOf (selectedNode), но у узлов есть только rootNode.

Это определение treeview на странице aspx:

<asp:TreeView ID="DestinationTree" runat="server"  CssClass="destinationsTree" ExpandDepth="1" 
 onselectednodechanged="DestinationTree_SelectedNodeChanged" 
 ontreenodeexpanded="DestinationTree_TreeNodeExpanded" ShowLines="True" 
 Font-Names="&quot;Segoe UI&quot;,Frutiger,Tahoma,Helvetica,&quot;Helvetica Neue&quot;,Arial,sans-serif">
 <ParentNodeStyle Font-Bold="False" />
 <HoverNodeStyle Font-Underline="True" ForeColor="#5555DD" />
 <SelectedNodeStyle Font-Underline="True" ForeColor="#5555DD" HorizontalPadding="0px" VerticalPadding="0px" />
 <Nodes>

TreeView находится внутри Ajax UpdatePanel. Я использую TreeNodeExpand для добавления дополнительных узлов и SelectedNodeChange для включения и отключения кнопок.

Что-нибудь посоветовал?


person VansFannel    schedule 31.01.2010    source источник


Ответы (1)


У каждого узла также есть свойство Nodes. Используйте рекурсивную функцию, чтобы пройти по дереву, чтобы найти его.

person Jay    schedule 31.01.2010