我的要求是从共享点列表项(个人或组字段)中获取所有用户,并将 [读取] 权限分配给不同的文档库。由于它有多个用户,在列表项更新时,是否可以比较人员或组字段的前后属性并添加/删除新添加/删除用户的权限?
目前正在进行项目更新,我正在删除所有现有用户权限并将它们添加回项目更新。我什至不知道 person 或 group 字段是否已被修改。
我的要求是从共享点列表项(个人或组字段)中获取所有用户,并将 [读取] 权限分配给不同的文档库。由于它有多个用户,在列表项更新时,是否可以比较人员或组字段的前后属性并添加/删除新添加/删除用户的权限?
目前正在进行项目更新,我正在删除所有现有用户权限并将它们添加回项目更新。我什至不知道 person 或 group 字段是否已被修改。
您可以测试您的专栏是否在活动期间ItemUpdating
发生了变化。在里面SPItemEventProperties
你可以找到名为AfterProperties
. 在处理时,ItemUpdating
您可以使用BeforeProperties
或仅使用properties.ListItem
它们来存储原始值。
因此,如果您想测试列内是否有任何更改,您可以使用以下代码:
if (properties.ListItem["customColumn"] != properties.AfterProperties["customColumn"])
{
}
但是由于您有多值用户字段,因此这不会起作用,因为这些集合返回通用对象,您必须将其转换为可比较的对象(例如通过使用ToString()
方法)。
尝试以下操作:
if(properties.ListItem["column"]?.ToString() != properties.AfterProperties["column"]?.ToString())
{
}
让我知道这是否有帮助。