前面的文章里分别介绍了如何通过TrimById及Css来隐藏Ribbon菜单命令项或Ribbon菜单,文章链接如下:
http://blog.youkuaiyun.com/sygwin_net/article/details/6789973
http://blog.youkuaiyun.com/sygwin_net/article/details/6790381
本文将介绍如何快速隐藏列表或文档库的新建文件夹命令项:
操作环境:Windows Server 2008 r2+ SharePoint 2010
1.通过Feature来实现
1.1如果你想针对列表来隐藏新建文件夹命令,Feature代码如下:
<CustomAction Id="Remove.ListItem.NewFolder" Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="Ribbon.ListItem.New.NewFolder" />
</CommandUIDefinitions>
</CommandUIExtension>
</CustomAction>
1.2如果你想针对文档库来隐藏新建文件夹命令,Feature如下:
<CustomAction Id="Remove.Document.NewFolderButton" Location="CommandUI.Ribbon" RegistrationId="0x0101" RegistrationType="ContentType">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="Ribbon.Documents.New.NewFolder" />
</CommandUIDefinitions>
</CommandUIExtension>
</CustomAction>
1.3如果你想同时针对列表和文档库 来隐藏新建文件夹命令,Feature如下:
<?xmlversion="1.0"encoding="utf-8"?>
<Elementsxmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="Remove.ListItem.NewFolder"
Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.ListItem.New.NewFolder"/>
</CommandUIDefinitions>
</CommandUIExtension>
</CustomAction>
<CustomAction
Id="Remove.Document.NewFolderButton"
Location="CommandUI.Ribbon"RegistrationId="0x0101"
RegistrationType="ContentType">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.Documents.New.NewFolder"/>
</CommandUIDefinitions>
</CommandUIExtension>
</CustomAction>
</Elements>
2.通过c#代码来实现:
无论是列表还是文档库都有一个.EnableFolderCreation 属性,它可以控制是否启用新建文件夹命令。
SPSite spSite = new SPSite("http://sp2010vm");
foreach (SPWeb spWeb in spSite.AllWebs)
{
spWeb.AllowUnsafeUpdates = true;
SPListCollection lists = spWeb.Lists;
for (int i = 0; i < lists.Count; i++)
{
if (lists[i] is SPDocumentLibrary)
{
if (((SPDocumentLibrary)lists[i]).IsCatalog == false)
{
SPDocumentLibrary spList = (SPDocumentLibrary)lists[i];
if (spList.Title == "Classified Documents")
{
Update the list properties
spList.EnableFolderCreation = false;
spList.Update();
}
}
}
}
spWeb.AllowUnsafeUpdates = false;
spWeb.Dispose();
}
spSite.Dispose();
3.库设置--高级设置-- 是否提供“新建文件夹”命令
列表设置--高级设置-- 是否提供“新建文件夹”命令