2013-04-22 103 views
3

這是我在.aspx代碼,OnSelectedNodeChanged事件不起作用

<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事件不工作,我想知道爲什麼。

我動態地綁定節點。我用這個link

+0

它沒有射擊? – andy 2013-04-22 08:47:29

+1

節點在哪裏? – 2013-04-22 08:48:42

+1

我動態地綁定節點:)我用這個鏈接http://stackoverflow.com/questions/16139479/how-to-add-root-node-in-tree-view-dynamically-using-asp-net/16139564? nandynd = 1#comment23057324_16139564 – zey 2013-04-22 08:54:40

回答

2

你是對的就不會在鏈接工作,因爲它是寫

root.SelectAction = TreeNodeSelectAction.Expand; 

而不是把它寫//使用。選擇

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. 
+1

:),謝謝,完全有效! – zey 2013-04-22 09:16:29

0

這是一箇舊的線程,但OnSelectedNodeChanged不會觸發的另一個原因是如果您爲給定節點設置了NavigateURL值。 雖然你可以使用一個技巧。刪除NavigateURL屬性並將節點「Value」屬性設置爲要鏈接的url,然後在代碼後面的OnSelectedNodeChanged事件中觸發,重定向到SelectedNode.Value屬性的url。

HTH

戴夫

0

我有類似的問題。當我在動態生成節點時爲節點刪除NavigateURL時,會觸發OnSelectedNodeChanged事件。