我有一个像asp:SiteMapDataSource:
这样的简单Sitemap第1页>第2页>第3页
我想在C#中创建foreach循环,而不是使用asp:SiteMapPath生成它,因为我需要添加一些例外。现在我无法弄清楚如何从SiteMap.CurrentNode向后循环到SiteMap.RootNode? p>
答案 0 :(得分: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();