我有一个自定义功能区按钮,它创建一个具有一组预定义权限的站点组。这一切都是使用EcmaScript完成的,目前 100% 有效。
我似乎无法使用 EcmaScript 在新站点组上初始化的唯一设置是与成员请求相关的设置(即SPWeb.RequestAccessEmail)
有谁知道如何使用客户端对象模型设置此属性?
我有一个自定义功能区按钮,它创建一个具有一组预定义权限的站点组。这一切都是使用EcmaScript完成的,目前 100% 有效。
我似乎无法使用 EcmaScript 在新站点组上初始化的唯一设置是与成员请求相关的设置(即SPWeb.RequestAccessEmail)
有谁知道如何使用客户端对象模型设置此属性?
我没有在SP.Web Properties中看到它。这是 Reflector 中 SPWeb.RequestAccessEmail 设置器的定义:
if (!this.Site.WebApplication.RequestAccessEnabled)
{
throw new NotSupportedException(SPResource.GetString("EmailServiceNotConfigured", new object[0]));
}
if (SPWebService.ContentService.CreateActiveDirectoryAccounts)
{
throw new NotSupportedException(SPResource.GetString("RequestAccessNotAllowedOnVirtualServer", new object[0]));
}
if (!this.HasUniqueRoleAssignments)
{
throw new SPException(SPResource.GetString("RequestAccessUniqueWebs", new object[0]));
}
SPGlobal.FilterNullSize(value, 0xff, "RequestAccessEmail");
this.Request.SetRequestAccessInfo(this.Url, null, 0, true, value.Trim());
我认为您无法使用 ECMAScript 对象模型复制此功能。
您可以使用 PowerShell 将 SPWeb.RequestAccessEmail 设置为空字符串,这与将 SPWeb.RequestAccessEnabled 设置为 false 的效果相同。