我正在为文档库执行工作流程。我放了一个OnWorkflowItemChanged
,我想获得更改的列的值。我使用workflowProperties.Item["name"]
并使用afterProperties
。但是当我使用workflowProperties.Item["column name"]
时,我仍然得到原始值。当我使用afterProperties
时,它是NULL
。
然后我为列表创建了与上面相同的另一个工作流程。我可以使用workflowProperties.Item["column name"]
在OnWorkflowItemChanged
中获取新值。
以前有人遇到过这个问题吗?你能给我一些帮助吗?
答案 0 :(得分:0)
问题似乎是将 Item 与 ExtendedProperties 混淆。至于为什么在List / Document Lib上看到差异,它可能与版本化有关,或者内部序列化可能不同。无论如何,我的一些经验概述如下。我希望它可能有用:
使用GUID(作为Guid对象,而不是字符串)访问之前 / 之后 ExtendedProperties 字段。使用ExtendedProperties 中的显示名称将不会工作。关于它的文档是错误的。您可以使用SPList.Fields从显示名称转到列ID(Guid)。
我将所有“Before”绑定到MyWhatever_PreviousProperties并将所有“After”绑定到MyWhatever_Properties,仅在相应事件之后访问MyWhatever_ [Previous] Properties 。)