在SharePoint中,存在Group 和 SiteGroup两个组的集合,分别通过web.Group, web.SiteGroup得到。因为SiteGroup一般用得比较少,所以我们在web中得不到Group的时候,会通过web.Site.RootWeb.Group来获得,但是这个方法有时候并不是很有用。
二者的区别是什么呢?
首先我们先看看二者的定义
web.Group 是gets the collection cross-site groups for the site。
web.SiteGroup是 gets the collection cross-site groups for the site collection。
web.Group 和 web.SiteGroup都是通过查找site中的Group,不同之处在于 后者查找的是整个 site collection 的Group。在多级站点中,我们用web.Site.RootWeb.Group方法能查找到web.Group中查不到的一些组,是因为在web中 这些Group没有对web的访问权限,而在顶级web中有默认的访问权限,所以能查找到。
我做了如下的试验:
1. 在网站中加入了2个组,项目一组和项目二组,都没有授予对网站的权限。
2. 通过web.Group 方法,查找不到新增的2个组。用web.SiteGroup能查找到。
3. 添加了项目二组的对网站的访问权限,通过web.Group 方法查找到项目二组,查找不到项目一组
所以web.Group 只能查找到对当前web有访问权限的Group,web.SiteGroup能查找到site中存在的所有Group.
二者的区别是什么呢?
首先我们先看看二者的定义
web.Group 是gets the collection cross-site groups for the site。
web.SiteGroup是 gets the collection cross-site groups for the site collection。
web.Group 和 web.SiteGroup都是通过查找site中的Group,不同之处在于 后者查找的是整个 site collection 的Group。在多级站点中,我们用web.Site.RootWeb.Group方法能查找到web.Group中查不到的一些组,是因为在web中 这些Group没有对web的访问权限,而在顶级web中有默认的访问权限,所以能查找到。
我做了如下的试验:
1. 在网站中加入了2个组,项目一组和项目二组,都没有授予对网站的权限。
2. 通过web.Group 方法,查找不到新增的2个组。用web.SiteGroup能查找到。
3. 添加了项目二组的对网站的访问权限,通过web.Group 方法查找到项目二组,查找不到项目一组
所以web.Group 只能查找到对当前web有访问权限的Group,web.SiteGroup能查找到site中存在的所有Group.