我有一个带有变体的Sharepoint发布站点。
默认情况下,面包屑显示以下内容:

变体根目录>英文网站>某些页面
我要显示的是:
“主页”>“某些页面”,其中“主页”指向英语站点根目录。

有没有办法创建一个自定义服务器控件来做到这一点?

最佳答案

如果您知道确切的级别数,则可以使用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不显示根节点(和第一个分隔符)。

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

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


如果description的值是“ Home”,则将其显示。

10-06 04:41