使用各种变体在sharepoint发布网站中自定义面包屑

我有一个包含变体的Sharepoint发布网站.

默认情况下,面包屑显示如下:

变异根>英文网站>一些页面
我想要展示的是:
“家”>一些页面,其中Home指向英文站点根目录.

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

最佳答案 如果您知道可以使用SiteMapPath的确切级别数,则:

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

否则,SiteMapPath总是再次直接使用当前正在使用的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不显示根节点(和第一个分隔符).

如果希望您的节点显示“Home”,您可以绑定另一个值,如:

<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>

如果描述具有将显示的“Home”值.

点赞