Sharepoint添加頂部導航
簡介:
Sharepoint2013的頂部導航是全局的,可以通過多種方式進行設置。比如通過網站設置中的更改外觀的頂部導航進行設置。這裏介紹一種使用對象模型設置頂部導航。對象層次爲 site-veb-navigation-topnavigationbar。
實現方法:
首先
創建一個feature,爲該feature添加監聽事件。在這裏筆者創建的feature是應在site級別的。在receiver寫代碼如下,事件激活時執行:
<span style="font-size:18px;">publicoverridevoid FeatureActivated(SPFeatureReceiverProperties properties)
{
SPSite site =properties.Feature.Parent asSPSite;
using (SPWeb web = site.RootWeb)
{
List<SPNavigationNode> notes = newList<SPNavigationNode>();
notes.Add(newSPNavigationNode("北汽研究院知識管理系統", "http://www.baidu.com",true));
SPNavigationNodeCollection navigationNodes = null;
navigationNodes =web.Navigation.GlobalNodes;
foreach (SPNavigationNode note in navigationNodes)
{
if (note.Id == 1002)
{
foreach (SPNavigationNode item in notes)
{
note.Children.AddAsLast(item);
}
}
}
}
}</span>
目的總結:
這個問題本來很簡單,按照邏輯直接找到頂部導航對象添加就可以了。可是做的時候存在問題對象web.Navigation.TopNavigationBar爲空。其實頂部導航的id爲1002,換種方法就解決了。關於web.Navigation.TopNavigationBar對象有時爲空有時不爲空我也不清楚,還請大神指點?