我正在使用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`
这是我收到错误的地方。
非常感谢任何和所有帮助。
感谢
答案 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)