Razor Sitecore中非常简单的站点地图
我使用Razor在Sitecore解决方案中提供了这个相当简单的站点地图Razor Sitecore中非常简单的站点地图,razor,sitecore,Razor,Sitecore,我使用Razor在Sitecore解决方案中提供了这个相当简单的站点地图 @{ var root = Sitecore.Context.Database.GetItem(myRootId); <div class="sitemap"> @RecursiveSitemap(root) </div> } @helper RecursiveSitemap(Item parentIt
@{
var root = Sitecore.Context.Database.GetItem(myRootId);
<div class="sitemap">
@RecursiveSitemap(root)
</div>
}
@helper RecursiveSitemap(Item parentItem){
<ul>
@{
Sitecore.Collections.ChildList childList = parentItem.Children;
foreach (Item child in childList)
{
<li><a href="@Sitecore.Links.LinkManager.GetItemUrl(child)">@child["title"]</a></li>
if (child.Children.Count != 0)
{
RecursiveSitemap(child);
}
}
}
</ul>
}
@{
var root=Sitecore.Context.Database.GetItem(myRootId);
@递归站点地图(根)
}
@helper RecursiveSitemap(项parentItem){
@{
Sitecore.Collections.ChildList ChildList=parentItem.Children;
foreach(子项列表中的子项)
{
如果(child.Children.Count!=0)
{
递归站点地图(子级);
}
}
}
}
它按预期返回第一级,但不再返回。我不知道为什么-我缺少了什么?您忘记在第二次调用递归Sitemap(child)时添加@,因此它不会写出结果 它必须是:
if (child.Children.Count != 0)
{
@RecursiveSitemap(child);
}
试着调试你的代码,看看它能做什么。调试器会返回结果,但仍然不知道上面的错误是什么?