以下是.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
事件不起作用,我想知道原因。
我动态绑定节点。我使用了link。
答案 0 :(得分:2)
你是对的,它不会起作用,因为在链接中写了
root.SelectAction = TreeNodeSelectAction.Expand;
而不是写//使用.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.
答案 1 :(得分:0)
这是一个旧线程,但如果您为给定节点设置了NavigateURL值,则OnSelectedNodeChanged不会触发的另一个原因。 你可以使用一些技巧。删除NavigateURL属性并设置节点&#34;值&#34;要链接到的URL的属性,然后在后面的代码中触发OnSelectedNodeChanged事件,从SelectedNode.Value属性重定向到url。
HTH
戴夫
答案 2 :(得分:0)
我有类似的问题。在动态生成节点时删除节点的NavigateURL时,将触发OnSelectedNodeChanged事件。