限制页面上添加的WebPart数量 - 适用于特定用户

时间:2012-08-19 05:43:37

标签: sharepoint

我有一个包含两个组“创建者”“管理员”的SharePoint网站。

当我们编辑sharepoint页面并转到“插入”选项卡时,我们将看到以下选项 1.插入webpart, 2.上传文件

我想限制“创作者”上传文件,他们可以插入最多2个网页部分。管理员没有任何限制。

SP2010可以吗?

1 个答案:

答案 0 :(得分:1)

一种方法是,您应该能够将事件连接到“插入Webpart”按钮。如果它不包含在SharePoint中,请使用您自己的javascript或类似的东西。

另一种方法是,您可以计算页面加载时可用的webpart数量。如果有人添加超过允许的最大值,只需删除最新的。

你可以用这样的东西计算它们

ClientContext oClientContext = new ClientContext("http://server/site");
File oFile = oClientContext.Web.GetFileByServerRelativeUrl("Default.aspx");
LimitedWebPartManager limitedWebPartManager = oFile.GetLimitedWebPartManager(PersonalizationScope.Shared);

oClientContext.Load(limitedWebPartManager.WebParts,
    wps => wps.Include(
    wp => wp.WebPart.Title));

oClientContext.ExecuteQuery();

if (limitedWebPartManager.WebParts.Count >= 2)
{
    // Max amount of webparts...
}

删除

WebPartDefinition webPartDefinition = limitedWebPartManager.WebParts[2]; // Third web part
webPartDefinition.DeleteWebPart();
oClientContext.ExecuteQuery();