我有一个 ASP.NET 树视图,其中填充了自定义树节点(从 TreeNode 子类化的 ExtensionRangeTreeNode)。在回发时,treeview 填充了 TreeNodes,而不是我的自定义 treenode 类。
这是怎么回事?
谢谢,英国石油公司
我有一个 ASP.NET 树视图,其中填充了自定义树节点(从 TreeNode 子类化的 ExtensionRangeTreeNode)。在回发时,treeview 填充了 TreeNodes,而不是我的自定义 treenode 类。
这是怎么回事?
谢谢,英国石油公司
此论坛条目可能会回答以下问题:
基本上,据说必须使用自定义树视图控件。必须重写 CreateNode 函数以实例化正确的 TreeNode 类型。在这里,它将是 ExtensionRangeTreeNode 而不是“CustomTreeNode”。
public class CustomTreeView : TreeView
{
protected override TreeNode CreateNode()
{
return new CustomTreeNode(this, false);
}
}
当然,您必须将 ExtensionRangeTreeNode(Treeview treeview, bool isRoot) 构造函数签名添加到您当前的 ExtensionRangeTreeNode 实现中。
ExtensionRangeTreeNode 是否完全处理将自身完全保存到视图状态?如果是这样,您可以将返回的节点转换为该类型吗?
在不查看您的特定代码的情况下,我只能假设您自定义的 TreeNode 没有使用 ViewState。这可以解释为什么它没有在回发时填充。