標籤:style blog http color os strong io for
在SharePoint的開發中,經常會有客戶提到網站操作上的欄目過多,其實,我們除了可以通過Feature的方式添加,還可以通過伺服器端物件模型的方式添加;下面,讓我用簡單的例子,給大家介紹一下;
1、操作SiteAction,添加“Add by Linyu”,隱藏“Site Settings”,效果如:
2、我是通過webpart的方式,修改當前頁面的菜單,代碼:
簡單說一下,Visible屬性是隱藏屬性,我們可以設定菜單是否顯示;Sequence是菜單在組中的順序,如果一個group裡有多個菜單,會按照這個排序;MenuGroupId是組的Id,我這裡設定成1,所以顯示在最上面了;
除了這些,AddMenuItem方法裡面,還可以設定菜單的許可權,具體可以自行嘗試一下;
3、完整的代碼,方便大家複製粘貼進行實驗,如下:
Microsoft.SharePoint.WebControls.SiteActions siteAction = Microsoft.SharePoint.WebControls.SiteActions.GetCurrent(this.Page);if (siteAction != null && ribbonCollection.Length > 0){ string[] RibbonID = RibbonCollection.Split(‘;‘); for (int i = 0; i < RibbonID.Length; i++) { //Hide Site Action siteAction.GetMenuItem(RibbonID[i]).Visible = false; } //Add Site Action siteAction.AddMenuItem("MenuItem_Custom", "Add by Linyu", "", "A test menu", "/_layouts/15/settings.aspx", ""); siteAction.GetMenuItem("MenuItem_Custom").Sequence = 1; siteAction.GetMenuItem("MenuItem_Custom").MenuGroupId = 1;}
4、查看網站設定菜單Id的小技巧,其實SharePoint很多地方的Id,都是可以這樣尋找的,我簡單的試了一下,發現去掉首碼zz11_即可,Site Settings的Id就是"MenuItem_Settings";
總 結
SharePoint有很多可以定製的地方,我們要做的就是選擇合適的方式,爭取實現的更加簡單、快捷;這裡我們可以封裝成一個webpart,用來隱藏Ribbon和SiteAction兩個菜單,是非常方便的方法。
參考文檔
http://www.cnblogs.com/jianyus/p/3877919.html
http://www.cnblogs.com/jianyus/p/3375613.html