2015-11-19 4 views
0

Я работаю с ASP.NET Treeview, и мне нужно проверить существование узла перед добавлением нового узла, чтобы у меня не было дублирования (что я и получаю момент из-за состояния данных.ASP.NET Treeview check node существует

Я пробовал TreeView1.FindNode(newNode.Text), который действительно получает мне значение, если узлы существуют, но при попытке запустить инструкцию if на нем, чтобы проверить его не на что, или если он существует визуально студия дает мне ошибку советовать, что не может преобразовать строку в логическое значение.

При попытке

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

это всегда возвращает ложь, даже если она не ничего

при попытке

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

это где я получаю сообщение об ошибке.

Любая помощь будет очень признательна.

благодаря

+0

Я думаю, что этот пост описывает решение вашей проблемы: http://stackoverflow.com/questions/6097029/c-sharp-treeview-checking-if-node-exists Надежда помогает. –

ответ

2

Проблема заключается в том TreeView1.FindNode возвращается TreeNode и вы пытаетесь преобразовать, что логическое значение, которое никогда не будет работать. Это должно работать: -

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

Update:

Вы также можете использовать немного LINQ, чтобы найти существования. Лично мне нравится этот подход: -

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

Я понял это перед тем, как увидеть ваш ответ ... любой может чувствовать себя свободным, чтобы пометить меня для моей полной глупости. –

+0

@SimonPrice - Эй, это не глупость, это происходит в мире кодирования :) Я добавил еще один подход, по которому мы может найти существование treenode. –

+1

Спасибо, я могу найти родителя с начальной попыткой, но теперь я не могу найти определенные дочерние узлы, так что, надеюсь, этот новый бит кода мне тоже поможет. –