我正在尝试创建一个功能,同时创建列表模板和该列表的实例(使用<ListTemplate
&gt;和<ListInstance
&gt;元素。我想要内容审批默认情况下打开。根据docs on ListTemplate,将EnableModeration属性设置为TRUE应该这样做。但是,当我尝试安装解决方案时,我收到以下错误:
'EnableModeration'属性是 无效 - 值“TRUE”无效 根据其数据类型 'http://schemas.microsoft.com/sharepoint/:TrueFalseMixed' - 枚举约束失败。
更多搜索显示接受的值实际上是“真”,而不是“真”。安装得很好,但是在创建列表时似乎没有效果 - 它仍然不需要内容批准。知道我做错了吗?
编辑:如果有人甚至可以向我确认他们之前是否看过“真实”或“真实”,那至少会缩小搜索范围。
更新:我发现我可以使用功能接收器中的代码启用内容审批:
list.EnableModeration = true;
list.Update();
这有点像黑客,所以能够通过XML来做到这一点仍然很好。
答案 0 :(得分:2)
我最后只使用了功能接收器方法,因为我只需要继续前进。但是,我后来发现用于定义列表架构的List element也具有ModeratedList和ModerationType属性,看起来它们可能与此有关。因此,如果其他人遇到同样的问题,我建议给他们一个机会。
答案 1 :(得分:1)
您的自定义列表中是否包含“ModStat”类型的字段?
来自SPFieldType Enumeration docs 的ModStat指定内容审批 状态。对应于 SPFieldModStat类和 指定的ModStat字段类型 在Field元素上。值= 23。
答案 2 :(得分:1)
我为List元素设置ModeratedList =“TRUE”ModerationType =“TRUE”,为ListTemplate元素设置EnableModerate =“True”。这个对我有用。那么使用TRUE或True都无关紧要。
答案 3 :(得分:1)
您只需为List元素设置ModeratedList =“TRUE”,为ListTemplate元素设置EnableModerate =“True”。我只是检查了一下,并为我工作。但是这只会受到新列表实例的影响。
答案 4 :(得分:0)
我有类似的问题 - 从代码中启用版本控制和审核。
在ListInstance
中,转到<ListTemplate>
并设置以下属性:
VersioningEnabled="TRUE"
用于版本控制,EnableModeration="True"
用于自动审核。