2009-06-16 45 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/

相關問題