自定义TreeNode,如何取出自定义的属性?
joy 2006-08-29 10:19:48 我自定义了一个TreeNode和Treeview.并在TreeNode里面增加了若干属性。
public class CompanyNode : System.Web.UI.WebControls.TreeNode
{
private string _nodeID;
private string _parentID;
private int _levelID;
private string _nodeName;
public CompanyNode()
: base()
{
}
public CompanyNode(string NodeText, string NodeValue, string ImageUrl)
: base(NodeText, NodeValue, ImageUrl)
{
}
public string NodeID
{
get { return this._nodeID; }
set { this._nodeID = value; }
}
public string ParentID
{
get { return this._parentID; }
set { this._parentID = value; }
}
public int LevelID
{
get { return this._levelID; }
set { this._levelID = value; }
}
public string NodeName
{
get { return this._nodeName; }
set { this._nodeName = value; }
}
}
public class CompanyTreeView : TreeView
{
protected override TreeNode CreateNode()
{
return new CompanyNode();
}
}
我用一下代码在装载Treeview:
AceWorld.Control.CompanyNode companyRoot = new AceWorld.Control.CompanyNode("CompanyName,"CompanyID, "../../images/star.gif");
companyRoot.NodeName = "TestNode";
companyRoot.NodeID= "TestNodeID";
companyRoot.ParentID= "TestParentID";
companyRoot.LevelID= 1;
treeView.Nodes.Add(companyRoot);
然后我想在Click树结点的时候,从节点里面取出装载时添加的属性"NodeName" "NodeID", "ParentID","LevelID"。
protected void CompanyTreeView_Setting_SelectedNodeChanged(object sender, EventArgs e)
{
CompanyNode tmpNode = (CompanyNode)(this.CompanyTreeView_Setting.SelectedNode);
}
但是 (CompanyNode)(this.CompanyTreeView_Setting.SelectedNode) 经过转换后返回的"tmpNode" ,所有属性比如 "NodeName" "NodeID", "ParentID","LevelID" 全都为Null.
大家知道怎么办吗?
(以上思路在Winform当中顺利通过,但是在asp.net中总是失败)