ASP.Net Treeview 检查节点是否存在

ASP.Net Treeview check node exists

我正在使用 ASP.Net Treeview,我需要在添加新节点之前检查节点是否存在,这样我就没有重复(这是我现在得到的,因为数据状态。

我已经尝试过 TreeView1.FindNode(newNode.Text) 如果节点存在,它确实会给我一个值,但是当尝试 运行 它上面的 if 语句来检查它不是什么都没有,或者它是否存在时 visual studio 给我一个错误,提示无法将字符串转换为布尔值。

尝试时

If Convert.ToBoolean(TreeView1.FindNode(node.Id)) = Nothing Then
                exists = False
            Else
                exists = True
End If

这总是 returns false 即使它不是什么都没有

尝试时

If TreeView1.FindNode(node.Id) = Nothing Then
                exists = False
            Else
                exists = True
End If`

这是我收到错误的地方。

非常感谢任何帮助。

谢谢

问题是 TreeView1.FindNode returns TreeNode 并且您正在尝试将其转换为永远无法工作的布尔值。这应该有效:-

If TreeView1.FindNode(node.Id) Is Nothing Then
      exists = False
Else
      exists = True
End If

更新:

您也可以使用一点 LINQ 来查找存在。我个人喜欢这种方法:-

Dim exist As Boolean = TreeView1.Nodes.OfType(Of TreeNode)() _
                                      .Any(Function(x) x.Value = node.Id)