使用SharePoint,在信息路径表单上我有一个组,然后有一个子组。然后,该子组可以有任意数量的附件控件。
提交表单时,我发送的附件要上传到其他地方。问题是,当我提交表单时,这些附件每次都会被发送,无论它们是否是新的。我目前有代码来处理ItemUpdated(SPItemEventProperties properties)
方法中的上传。我已经做了一些阅读,我知道我将不得不改变它,以便我使用ItemUpdating
方法进行此调用。但是从那里我不确定检查只发送“新”附件的最佳方法是什么。
有什么建议吗? SharePoint开发的新手,所以我可以尝试澄清一些事情是否有意义。
答案 0 :(得分:0)
通常,您将始终收到EventReceiver中的所有附件。现在,您必须检查EventReceivers ItemUpdating事件中哪些项是新的。您必须检查AfterProperties(您通过表单发送)和properties.ListItem(BeforeProperties and AfterProperties in Sharepoint Event Receivers)。
首先,我会将表单(AfterProperties)中的所有附件加载到集合中,然后从您尝试更新的列表中已存在的项目中加载附件。这些附加的当前现有项目也会加载到集合中。然后,您可以通过LINQ检查,例如,如果您的附件存在于项目中或哪些不存在,那么只添加新的附件!