我有一个带有变体的Sharepoint发布网站。 默认的痕迹表明这一点:在sharepoint发布网站中自定义breadcrumb变体
变异根>英语网站>若干页 我想展示的是: “主页”>若干页,首页指向英文站点根目录。
有没有办法实现这一点,而不是创建自定义服务器控件来做到这一点?
我有一个带有变体的Sharepoint发布网站。 默认的痕迹表明这一点:在sharepoint发布网站中自定义breadcrumb变体
变异根>英语网站>若干页 我想展示的是: “主页”>若干页,首页指向英文站点根目录。
有没有办法实现这一点,而不是创建自定义服务器控件来做到这一点?
如果你知道水平的确切数量,你可以使用像的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>
如果描述了“主页”,将显示的值。
就在最近,我创建了一些解决此问题的新菜单控件。我的控件将自定义〜Variation /标记接受为StartingNode,以便您可以创建一个从变体的起始位置开始的breadcrumb,而不是您的Site Collection的根目录。 你可以找到更多的信息@http://blog.mastykarz.nl/templates-based-menu-control-sharepoint/
我不知道确切的级别数 我怎么能只删除根元素? – 2015-05-28 13:35:03