2

我试图弄清楚如何在 EPiServer 7 中实现菜单。唯一可用的文档显示了如何使用我不使用的 webforms 来做到这一点

任何建议如何做到这一点?

谢谢

4

1 回答 1

4

在有人打败我之前写了一个解决方案:)

@using EPiServer
@using EPiServer.Core
@using EPiServer.Filters
@using EPiServer.Web.Mvc.Html

<ul id="mainMenu">
        @{ 
            PageData startPage = ContentReference.StartPage.GetPage();
            PageDataCollection allChilds = DataFactory.Instance.GetChildren(((PageData)startPage).PageLink);
            IEnumerable<PageData> filteredChilds = FilterForVisitor.Filter(allChilds).Where(p => p.IsVisibleOnSite() && p.VisibleInMenu);
        }

        @foreach (PageData item in filteredChilds)
        {
            <li>
                <a href="/@item.URLSegment.ToString()">
                    @item.Name
                </a>
            </li>
        }
</ul>

其中 GetPage 是一个扩展方法

public static PageData GetPage(this PageReference pageLink)
{
    return DataFactory.Instance.GetPage(pageLink);
}
于 2012-12-06T16:18:45.840 回答