Asp.net Treeview странное поведение - PullRequest
2 голосов
/ 31 января 2010

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

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

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

Это определение дерева на странице 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, чтобы включать и отключать кнопки.

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

1 Ответ

1 голос
/ 31 января 2010

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

...