我在ASP页面上有一个TreeView Web控件。我以编程方式填充所有树节点。我想禁用所有树节点上的链接。我可以一次做一个,就像这样(为了简单起见,使用字符串数组):
for each (string strValue in strValues)
{
TreeNode objNode = new TreeNode(strValue);
objNode.SelectAction = TreeNodeSelectAction.None;
objTreeView.Nodes.Add(objNode);
}
为了论证我假设我有多个级别的节点,所以在完成填充之后,没有一种简单的方法来遍历所有节点。我可以在TreeView上设置一个属性来为所有节点设置SelectAction吗?
答案 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);
}
}