2010-01-19 4 views
1

Pour le niveau de personnalisation supplémentaire que nous faisons sur notre site Web, nous avons manipulé la collection de nœuds DNN pour supprimer certains nœuds pour certaines personnes. Maintenant nous devons inverser ce processus et devons ajouter des noeuds si les conditions sont bonnes pour l'utilisateur.DNNNode et DNNNodeCollection

J'ai essayé

Dim newNode As New DotNetNuke.UI.WebControls.DNNNode 
newNode.NavigateURL = NavigateURL(12) 
newNode.Text = "test" 
newNode.ID = "x3" 

puis

objNodes.Add(newNode) 

« objNodes » est la principale collection de noeuds - Je pense que je dois créer une collection et l'ajouter à l'enfant d'un noeud spécifique mais je ne sais pas comment.

Répondre

2

Il devrait être aussi simple que ce qui suit ...

Dim newChildNode as New DotNetNuke.UI.WebControls.DNNNode() 
With newChildNode 
    .ID = "x4" 
    .Text = "Text" 
    .NavigateURL = NavigateURL(4) 
End With 

newNode.DNNNodes.Add(newChildNode) 
+0

Merci Oliver, mais je ne reçois pas le nouveau nœud à afficher dans mon menu -I fais cela dans le bind pour mon fournisseur de menu - am Tu me manques quelque chose que tu penses? – braindice

+0

En regardant mon fournisseur de menu personnalisé, la seule chose qui manque dans cet exemple est "Me.Bind (objNodes)" après la collection est terminée –

+0

D'accord, il était un autre code personnalisé qui le bloquait - une chose de plus Oliver est si je boucle en utilisant ce que je reçois seulement le premier objet ajouté au nœud ainsi par exemple je wrap un pour x comme entier = 0 à 3 autour de ce que je devrais obtenir 4 éléments ajoutés - je reçois seulement un – braindice