我有一个启用了内容审批的SharePoint列表。业务要求是,一旦新列表项目被批准,即使任何用户进一步更新,它仍应保持批准。SharePoint - 检查事件接收器中的内容审批更改状态
我的第一个想法是处理ItemUpdating方法,如果相应的before属性被Approved,那么将after属性设置为Approved。然而,这不起作用。
在ItemUpdating方法中,“审批状态”列不显示在properties.BeforeProperties或properties.AfterProperties中。 properties.ListItem [“审批状态”]和properties.ListItem.ModerationInformation.Status都显示“before”值。在ItemUpdated方法中,情况是相同的,除了显示的值是“之后”值。
是否有任何一种方法来识别前后方法?我可以通过创建一个新的隐藏列来解决这个问题,当项目被批准但是看起来并不好时,我会设置一个新的隐藏列。
我应该从工作流的角度来看待这个吗?
不幸的是,“审批状态”/“_ ModerationStatus没有出现在BeforeProperties或AfterProperties集合中 – Chloraphil 2009-10-13 19:21:35
_ModerationStatus * does *出现在AfterProperties集合中(当它被更改时,它的couse),不知道我以前错过了它。 – Chloraphil 2009-10-22 16:54:10