在ASP.NET TreeView控件的所有树节点上设置SelectAction

时间:2013-04-26 14:26:17

标签: c# web-controls

我在ASP页面上有一个TreeView Web控件。我以编程方式填充所有树节点。我想禁用所有树节点上的链接。我可以一次做一个,就像这样(为了简单起见,使用字符串数组):

for each (string strValue in strValues)
{
TreeNode objNode = new TreeNode(strValue);
objNode.SelectAction = TreeNodeSelectAction.None;
objTreeView.Nodes.Add(objNode);
}

为了论证我假设我有多个级别的节点,所以在完成填充之后,没有一种简单的方法来遍历所有节点。我可以在TreeView上设置一个属性来为所有节点设置SelectAction吗?

2 个答案:

答案 0 :(得分:2)

TreeView不支持任何属性来执行此操作。但是,您可以使用递归方法

来实现

答案 1 :(得分:1)

这可以解决您的问题:

    protected void Page_Load(object sender, EventArgs e)
    {
        processNode(trvTest.Nodes);
    }

    private void processNode(TreeNodeCollection nodes)
    {
        foreach (TreeNode node in nodes)
        {
            node.SelectAction = TreeNodeSelectAction.None;
            if (node.ChildNodes.Count > 0)
                processNode(node.ChildNodes);
        }
    }