1、我的页面中有一个TreeView:tvEquip 
2、类MyTreeNode继承自类TreeNode,MyTreeNode中增加了一些自定义属性,比如string NodeType等: 
public class MyTreeNode:TreeNode 

    protected string _nodeType = ""; 
    public string nodeType 
    { 
        get { return _nodeType; } 
        set { _nodeType = value; } 
    }     protected object _Obj = ""; 
    public object Obj 
    { 
        get { return _Obj; } 
        set { _Obj = value; } 
    }     public MyTreeNode() 
    { 
      // TODO: 在此处添加构造函数逻辑 
    } 
} 3、在页面的Page_Load事件中: 
protected void Page_Load(object sender, EventArgs e) 
    { 
        //生成root节点 
        if (!IsPostBack) 
        { 
            MyTreeNode iNode = new MyTreeNode(); 
            iNode.Value = "X"; 
            iNode.Text = "项目"; 
            iNode.nodeType = "PROJECT"; 
             
            tvEquip.Nodes.Add(iNode);             iNode = new MyTreeNode(); 
            iNode.Value = "Y"; 
            iNode.Text = "区域"; 
            iNode.nodeType = "AREA"; 
             
            tvEquip.Nodes.Add(iNode);         } 
    } 4、TreeView:tvEquip的TreeNodePopulate事件中: 
protected void TvEquip_TreeNodePopulate(object sender, TreeNodeEventArgs e) 
    { 
        MyTreeNode pNode = (MyTreeNode)e.Node;         
        switch (pNode.nodeType) 
        { 
            case "PROJECT": 
                { 
                    PopulateX(pNode); 
                    break; 
                } 
            case "AREA": 
                { 
                    Populatey(pNode); 
                    break; 
                } 
        } 
    } 在TvEquip_TreeNodePopulate(object sender, TreeNodeEventArgs e)的事件中 
MyTreeNode pNode = (MyTreeNode)e.Node;报错:无法将类型为“System.Web.UI.WebControls.TreeNode”的对象强制转换为类型“MyTreeNode”。 
另外在Page_Load事件中,跟踪tvEquip,发现tvEquip的节点都是MyTreeNode类型的,但到了TvEquip_TreeNodePopulate中再跟踪tvEquip,发现它的节点都变成TreeNode类型了。需要说明的是:在TvEquip_TreeNodePopulate的事件中,e.Node是系统通过参数传过来的值,它的类型我无法改变。在构建treeview的时候,节点对象全部是MyTreeNode(一些属性也在MyTreeNode的属性中)。现实情况我也希望用MyTreeNode获取父节点的所有属性,但在事件中只能获取节点类型是TreeNode的节点对象。哪位高手能告诉我怎么做?谢谢!