如何将.NET TreeView节点设置为在单击文本时展开-C#?
我在母版页中有一个树状视图,在单击+/-时在展开和折叠节点之间切换节点,在当前节点展开时折叠所有其他节点。我试图让它在单击节点的文本时遵循相同的行为。单击节点文本时,它会折叠所有其他节点并转到该节点链接到的页面,但不会展开当前节点。我尝试过许多其他类似问题的解决方案,但都没有奏效。这是我为TreeView事件编写的C#代码如何将.NET TreeView节点设置为在单击文本时展开-C#?,c#,asp.net,treeview,nodes,C#,Asp.net,Treeview,Nodes,我在母版页中有一个树状视图,在单击+/-时在展开和折叠节点之间切换节点,在当前节点展开时折叠所有其他节点。我试图让它在单击节点的文本时遵循相同的行为。单击节点文本时,它会折叠所有其他节点并转到该节点链接到的页面,但不会展开当前节点。我尝试过许多其他类似问题的解决方案,但都没有奏效。这是我为TreeView事件编写的C#代码 protected void MainMenu_SelectedNodeChanged(object sender, EventArgs e) { MainMenu.
protected void MainMenu_SelectedNodeChanged(object sender, EventArgs e)
{
MainMenu.CollapseAll();
TreeNode node = MainMenu.SelectedNode;
node.Expand();
while (node.Parent != null)
{
node = node.Parent;
node.Expand();
}
}
protected void MainMenu_TreeNodeExpanded(object sender, TreeNodeEventArgs e)
{
if (e.Node.Parent == null) return;
string strNodeValue = e.Node.Value;
foreach (TreeNode node in e.Node.Parent.ChildNodes)
{
if (node.Value != strNodeValue)
node.CollapseAll();
}
}
protected void MainMenu_TreeNodeDataBound(object sender, TreeNodeEventArgs e)
{
e.Node.SelectAction = TreeNodeSelectAction.SelectExpand;
}
我感谢所有的想法和建议 如果有帮助,请告诉我。谢谢您的回复。我认为这是针对WindowsForm而不是aspx页面的。我曾尝试在事件前后使用NodeMouseClick、MouseClick使其展开,但没有成功:-/