在開心的客製完成一組Ribbon Buttons後,傷腦筋的事情發生了….
佈署上去後,所有的List上方的Ribbon都出現了客製的Ribbon Buttons(傷心)
我只要其中一個List出現就好了啦~~~~~(淚)
在開心的客製完成一組Ribbon Buttons後,傷腦筋的事情發生了….
佈署上去後,所有的List上方的Ribbon都出現了客製的Ribbon Buttons(傷心)
我只要其中一個List出現就好了啦~~~~~(淚)
解決這個問題的方法是,當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