如何从Web中获取SharePoint中的整个集合的受限属性

时间:2015-08-10 13:47:12

标签: c# sharepoint sharepoint-2010

我希望在我的代码中可以使用很少的Web属性,这些属性不是默认的。例如,如果我使用clientContext.Load(clientContext.Web.Webs)加载网站 我没有得到" HasUniqueRoleAssignments"属性。根据{{​​3}} 我很容易用lambda expresion来获取它们。它适用于我想从单个网站获取属性

clientContext.Load(clientContext.Web,  website => website.Title,   website => website.HasUniqueRoleAssignments,  website => website.RoleAssignments);

但我想立刻获得整个网站集。我试图做这样的事情

clientContext.Load(clientContext.Web.Webs,  website => website.Title,   website => website.HasUniqueRoleAssignments,  website => website.RoleAssignments);

但它没有运行。

任何人都知道如何解决这个问题? 提前致谢。

1 个答案:

答案 0 :(得分:2)

以下示例演示了如何检索网站集的HasUniqueRoleAssignments属性:

using (var ctx = new ClientContext(webUri))
{            

    ctx.Load(ctx.Web.Webs, wcol => wcol.Include(w => w.HasUniqueRoleAssignments, w => w.Title, w => w.RoleAssignments));
    ctx.ExecuteQuery();

    foreach (var web in ctx.Web.Webs)
    {
        Console.WriteLine(web.HasUniqueRoleAssignments);
    }
}