4

ここに私のコードがあります.aspx

 <asp:TreeView ID="TreeView1" runat="server"
 OnSelectedNodeChanged="TreeView1_SelectedNodeChanged"
 ImageSet="Arrows" >
</asp:TreeView>
<asp:TextBox runat="server" ID="selectedNode"></asp:TextBox>

私の.csファイルでは、

 protected void TreeView1_SelectedNodeChanged(object sender, EventArgs e)
{
    selectedNode.Text = TreeView1.SelectedNode.Value;
}

しかし、OnSelectedNodeChangedイベントが動かないのですが、その理由を知りたいです。

ノードを動的にバインドします。このリンクを使用しました。

4

3 に答える 3

2

リンクに書かれているので、あなたは正しいです

 root.SelectAction = TreeNodeSelectAction.Expand;

代わりに //use .Select と書く

  root.SelectAction = TreeNodeSelectAction.Select;

それが動作します。

TreeNodeSelectAction.Expand
Toggles the node between expanded and collapsed. Raises the TreeNodeExpanded event or the TreeNodeCollapsed event, as appropriate.

TreeNodeSelectAction.None
Raises no events when a node is selected.

TreeNodeSelectAction.Select 
Raises the SelectedNodeChanged event when a node is selected.

TreeNodeSelectAction.SelectExpand
Raises both the SelectedNodeChanged and TreeNodeExpanded events when a node is selected. Nodes are only expanded, never collapsed.
于 2013-04-22T09:03:29.597 に答える
0

これは古いスレッドですが、OnSelectedNodeChanged が起動しないもう 1 つの理由は、特定のノードに NavigateURL 値が設定されている場合です。ただし、使用できるトリックがあります。NavigateURL プロパティを削除し、ノードの「Value」プロパティをリンク先の URL に設定してから、コード ビハインドで発生する OnSelectedNodeChanged イベントで、SelectedNode.Value プロパティから URL にリダイレクトします。

HTH

デイブ

于 2015-08-05T02:29:05.337 に答える