[SharePoint 2010] 隱藏Ribbon裡的Button

在開心的客製完成一組Ribbon Buttons後,傷腦筋的事情發生了….
佈署上去後,所有的List上方的Ribbon都出現了客製的Ribbon Buttons(傷心)
我只要其中一個List出現就好了啦~~~~~(淚)

在開心的客製完成一組Ribbon Buttons後,傷腦筋的事情發生了….

佈署上去後,所有的List上方的Ribbon都出現了客製的Ribbon Buttons(傷心)

我只要其中一個List出現就好了啦~~~~~(淚)

image

 

解決這個問題的方法是,當page load 或 rendering webpart時,

可放置ribbon.TrimById(trimmedId),把不要顯示的Item移除(預設或客製的Ribbon都可以)

 

我是將判斷顯示的程式寫成一個沒有畫面的Server Control,嵌在MasterPage上

參考小程式

protected void Page_Load(object sender, EventArgs e)

{

if (Request.Url.ToString().ToLower().Contains("lists/tasks"))

{

SPRibbon ribbon = SPRibbon.GetCurrent(this.Page);

if (ribbon != null)

{

ribbon.TrimById("Ribbon.ListItem.CopyWebPart"); // hide customized button

ribbon.TrimById("Ribbon.ListItem.New.NewListItem"); //hide default new button

ribbon.TrimById("Ribbon.ListItem.Manage.EditProperties"); // hide default edit button

}

}

 

想隱藏Ribbon裡預設的Button,可以利用下面連結找到對應的Control Id

Default Ribbon Control Identifiers

http://msdn.microsoft.com/en-us/library/ee537543.aspx

 

Ribbon.TrimById Method的說明

http://msdn.microsoft.com/en-us/library/microsoft.web.commandui.ribbon.trimbyid.aspx