ASP.Net Treeview检查节点存在

时间:2015-11-19 15:05:42

标签: asp.net .net vb.net treeview

我正在使用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

这总是返回false,即使它不是什么

尝试时

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

这是我收到错误的地方。

非常感谢任何和所有帮助。

感谢

1 个答案:

答案 0 :(得分:2)

问题是TreeView1.FindNode返回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)