我有一個帶有變體的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