Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sharepoint 限制页面上添加的Web部件数-针对特定用户_Sharepoint - Fatal编程技术网

Sharepoint 限制页面上添加的Web部件数-针对特定用户

Sharepoint 限制页面上添加的Web部件数-针对特定用户,sharepoint,Sharepoint,我有一个SharePoint网站,有两个组“创建者”“管理员” 当我们编辑sharepoint页面并转到“插入”选项卡时,我们将看到以下选项 1.插入网页部件, 2.上传文件 我想限制“创作者”上传文件,他们最多可以插入2个网页。管理员没有任何限制 SP2010是否可能?一种方法是,您应该能够将事件连接到“插入Web部件”按钮。如果它没有包含在SharePoint中,请使用您自己的javascript或类似的东西 另一种方法是,您可以计算页面加载时可用的Web部件数。如果有人添加了超过允许的最大

我有一个SharePoint网站,有两个组“创建者”“管理员”

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

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


SP2010是否可能?

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

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

你可以用这样的东西数一数

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();            

由于SharePoint中没有直接的解决方案,因此这非常有用,我将继续讨论。谢谢谢谢,如果这是一个解决方案,请记住在问题结束时将这篇文章或另一篇文章标记为答案。