0

我有一个来自 asp:SiteMapDataSource 的简单站点地图:

第 1 页 > 第 2 页 > 第 3 页

我想在 C# 中创建 foreach 循环来生成它而不是使用 asp:SiteMapPath 因为我需要向它添加一些异常。现在我无法弄清楚如何从 SiteMap.CurrentNode 向后循环到 SiteMap.RootNode?

4

1 回答 1

3

您正在寻找的属性是SiteMapNode.ParentNode

SiteMapNode currentNode = SiteMap.CurrentNode;
SiteMapNode rootNode = SiteMap.RootNode;
Stack<SiteMapNode> nodeStack = new Stack<SiteMapNode>();

while (currentNode != rootNode)
{
    nodeStack.Push(currentNode);

    currentNode = currentNode.ParentNode;
}

// If you want to include RootNode in your list
nodeStack.Push(rootNode);

SiteMapNode[] breadCrumbs = nodeStack.ToArray();
于 2009-04-09T07:51:58.690 回答