2009-10-13 51 views
0

我有一个启用了内容审批的SharePoint列表。业务要求是,一旦新列表项目被批准,即使任何用户进一步更新,它仍应保持批准。SharePoint - 检查事件接收器中的内容审批更改状态

我的第一个想法是处理ItemUpdating方法,如果相应的before属性被Approved,那么将after属性设置为Approved。然而,这不起作用。

在ItemUpdating方法中,“审批状态”列不显示在properties.BeforeProperties或properties.AfterProperties中。 properties.ListItem [“审批状态”]和properties.ListItem.ModerationInformation.Status都显示“before”值。在ItemUpdated方法中,情况是相同的,除了显示的值是“之后”值。

是否有任何一种方法来识别前后方法?我可以通过创建一个新的隐藏列来解决这个问题,当项目被批准但是看起来并不好时,我会设置一个新的隐藏列。

我应该从工作流的角度来看待这个吗?

回答

0

使用字段的内部名称与AfterProperties或BeforeProperties。 即属性.AfterProperties [“内部名称”]。

它为我

0

请参考下列属性的AfterProperties部分文档库。

文档库与列表有点不同。 doc文件具有.AfterProperties [“vti_doclibmodstat”]和.AfterProperties [“vti_doclibmodcomm”]。

相关问题