ASP.Net Treeview:奇怪的回发行为

时间:2009-07-09 20:23:25

标签: asp.net treeview postback subclassing

我有一个填充了自定义treenodes的ASP.NET树视图(从TreeNode子类化的ExtensionRangeTreeNode)。 在回发时,树视图使用TreeNodes填充,而不是我的自定义treenode类。

这是怎么回事?

谢谢, BP

3 个答案:

答案 0 :(得分:1)

forum entry可能会回答以下问题:

基本上,据说必须使用自定义树视图控件。必须重写CreateNode函数才能实例化正确的TreeNode类型。这里,它将是ExtensionRangeTreeNode而不是“CustomTreeNode”。

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

当然,您必须将ExtensionRangeTreeNode(Treeview树视图,bool isRoot)构造函数签名添加到当前的ExtensionRangeTreeNode实现中。

答案 1 :(得分:0)

在不查看您的特定代码的情况下,我只能假设您自定义TreeNode未使用ViewState。这可以解释为什么它不会在回发中填充。

答案 2 :(得分:0)

DoesExtensionRangeTreeNode是否完全处理将自己保存到viewstate?如果是,您可以将返回的节点转换为该类型吗?