2009-06-16 44 views
4

我有一个带有变体的Sharepoint发布网站。 默认的痕迹表明这一点:在sharepoint发布网站中自定义breadcrumb变体

变异根>英语网站>若干页 我想展示的是: “主页”>若干页,首页指向英文站点根目录。

有没有办法实现这一点,而不是创建自定义服务器控件来做到这一点?

回答

2

如果你知道水平的确切数量,你可以使用像的SiteMapPath:

<asp:SiteMapPath runat="server" ParentLevelsDisplayed="1" /> 

否则的SiteMapPath总是过得direcly agains的SiteMapProvider被使用,你也许可以挂接到的SiteMapPath一个的呈现做一个检查,如:

protected void SiteMapPath_ItemCreated(object sender, SiteMapNodeItemEventArgs e) 
{ 
    if (e.Item.ItemType == SiteMapNodeItemType.Root ||   
     (e.Item.ItemType == SiteMapNodeItemType.PathSeparator && 
     e.Item.ItemIndex == 1)) 
    { 
     e.Item.Visible = false; 
    } 
} 

这将使你的SiteMapPath不显示根节点(和第一个分隔符)。

,如果希望您的节点,以显示“家”可以绑定对另一个价值,是这样的:

<asp:SiteMapPath ID="siteMapPath" runat="server" 
    Pathseparator="/" 
    OnItemCreated="SiteMapPath_ItemCreated"> 

<NodeTemplate> 
    <a href='<%# Eval("url") %>'><%# Eval("description") %></a> 
</NodeTemplate> 

<CurrentNodeTemplate> 
    <%# Eval("title") %> 
</CurrentNodeTemplate>  

</asp:SiteMapPath> 

如果描述了“主页”,将显示的值。

+0

我不知道确切的级别数 我怎么能只删除根元素? – 2015-05-28 13:35:03

0

就在最近,我创建了一些解决此问题的新菜单控件。我的控件将自定义〜Variation /标记接受为StartingNode,以便您可以创建一个从变体的起始位置开始的breadcrumb,而不是您的Site Collection的根目录。 你可以找到更多的信息@http://blog.mastykarz.nl/templates-based-menu-control-sharepoint/

相关问题