Sharepoint 为什么列表和文档库之间的OnWorkflowItemChanged不同?

Sharepoint 为什么列表和文档库之间的OnWorkflowItemChanged不同?,sharepoint,workflow,Sharepoint,Workflow,我正在为文档库执行工作流。我将放在WorkflowItemChanged上,并希望获得更改的列的值。我使用workflowProperties.Item[“name”]和afterProperties。但是当我使用workflowProperties.Item[“column name”]时,我仍然得到了原始值。当我使用afterProperties时,它是NULL 然后,我为列表创建另一个与上面相同的工作流。我可以使用workflowProperties.Item[“column name”]

我正在为文档库执行工作流。我将
放在WorkflowItemChanged
上,并希望获得更改的列的值。我使用
workflowProperties.Item[“name”]
afterProperties
。但是当我使用
workflowProperties.Item[“column name”]
时,我仍然得到了原始值。当我使用
afterProperties
时,它是
NULL

然后,我为列表创建另一个与上面相同的工作流。我可以使用
workflowProperties.Item[“column name”]
OnWorkflowItemChanged
中获取新值


以前有人遇到过这个问题吗?你能给我一些帮助吗?

这个问题似乎混淆了Item和ExtendedProperties。至于为什么列表/文档库上会出现差异,可能与版本化有关,或者内部序列化不同。无论如何,我的一些经验概述如下。我希望它可能有用:

使用GUID(作为GUID对象,而不是字符串)访问Before/AfterExtendedProperties字段。在ExtendedProperties中使用显示名称将不起作用。关于它的文件是错误的。您可以使用SPList.Fields从显示名称转到列ID(Guid)

我将所有“Before”绑定到MyWhather_PreviousProperties,将所有“After”绑定到MyWhather_Properties,仅在相应事件之后访问MyWhather_[Previous]属性