我有一个继承自 TreeNode 的类,称为 ExtendedTreeNode。将这种类型的对象添加到树视图中不是问题。但是如何从树视图中检索对象?
我试过这个:
TreeNode node = tvManual.Find("path/to/node"); // tvManual is a treeview
return ((ExtendedTreeNode)node).Property;
但这不起作用。我收到此错误:无法将“System.Web.UI.WebControls.TreeNode”类型的对象转换为“PCK_Web_new.Classes.ExtendedTreeNode”。
我该怎么做才能完成这项工作?
- - - - - - 解决方案 - - - - - - - - -
[编辑] 我的自定义 TreeNode 类如下所示:
public class ExtendedTreeNode : TreeNode
{
private int _UniqueId;
public int UniqueId
{
set { _UniqueId = value; }
get { return _UniqueId; }
}
public ExtendedTreeNode()
{
}
}
通过这种方式,我将节点添加到我的树视图中:
ExtendedTreeNode TN2 = new ExtendedTreeNode();
TN2.Text = "<span class='Node'>" + doc.Title + "</span>";
TN2.Value = doc.ID.ToString();
TN2.NavigateUrl = "ViewDocument.aspx?id=" + doc.ID + "&doc=general&p=" + parent;
TN2.ImageUrl = "Graphics/algDoc.png";
TN2.ToolTip = doc.Title;
TN2.UniqueId = counter;
tvManual.FindNode(parent).ChildNodes.Add(TN2);
这样我检索了我的 ExtendedTreeNode 对象:
TreeNode node = tvManual.Find("path/to/node");
ExtendedTreeNode extNode = node as ExtendedTreeNode;
return extNode.UniqueId;
我正在使用 .NET 3.5 SP1