我正在处理 SharePoint 解决方案上的自定义当前(左)导航。
我需要的是导航的根是一个变体网络,是根网络的直接子级。作为此变体的直接子级的所有站点和页面都应该可见,但不会展开。只有作为当前站点的祖先的站点才应该扩展......一直到当前站点/页面。
一个例子......如果我从页面开始,http://spsite.ex/variation/site2/subsite2.1/subsite2.1.1/subsite2.1.1.3/page.aspx
我应该看到......
Site1
Site2
SubSite2.1
SubSite2.1.1
SubSite2.1.1.1
SubSite2.1.1.2
SubSite2.1.1.3
page.aspx (YOU ARE HERE)
SubSite2.2
Site2Page1
Site2Page2
Site3
Site4
Site5
如果我然后单击链接,SubSite2.1
我应该会看到类似...
Site1
Site2
SubSite2.1 (YOU ARE HERE)
SubSite2.1.1
SubSite2.2
Site2Page1
Site2Page2
Site3
Site4
Site5
如果我然后导航到http://spsite.ex/variation/site5/subsite5.1/page.aspx
我应该看到类似...
Site1
Site2
Site3
Site4
Site5
SubSite5.1
SubSite5.1.1
page.aspx (YOU ARE HERE)
我已经写了一个解决方案,但我觉得这不应该让我感到自豪;我给出了AspMenu
一个接近无限的StaticDisplayLevels
然后是扩展PortalSiteMapProvider
的,覆盖GetChildNode(node)
不获取子节点,除了当前网络的祖先。