2009-07-09 7 views

Répondre

0

sans regarder votre code particulier, je ne peux supposer que vous TreeNode sur mesure n'est pas utilisé ViewState. Cela expliquerait pourquoi il n'est pas rempli en postback.

+0

J'ai pensé à ça. Toutefois, la tentative de rechargement de viewstate lors de la publication génère cette erreur: "Impossible de charger viewstate L'arborescence de contrôle dans laquelle viewstate est en cours de chargement doit correspondre à l'arborescence de contrôle utilisée pour enregistrer viewstate lors de la requête précédente." BP – theBruce

0

DoesExtensionRangeTreeNode gère-t-il entièrement son enregistrement dans viewstate? Si oui, pouvez-vous convertir les nœuds renvoyés en ce type?

1

Cette forum entry peut répondre à la question:

Fondamentalement, il est dit un contrôle TreeView personnalisé doit être utilisé. La fonction CreateNode doit être redéfinie pour instancier le type TreeNode correct. Ici, ce serait ExtensionRangeTreeNode au lieu de "CustomTreeNode".

public class CustomTreeView : TreeView 
{ 
    protected override TreeNode CreateNode() 
    { 
     return new CustomTreeNode(this, false); 
    } 
} 

Bien sûr, vous devrez ajouter la signature du constructeur ExtensionRangeTreeNode (Treeview TreeView, bool isRoot) à votre mise en œuvre de ExtensionRangeTreeNode actuelle.