我正在为 WSS 3.0 解决方案编写自定义电子邮件通知。我正在使用从 IAlertNotifyHandler 继承的自定义类来生成电子邮件。这里有一个很好的例子,展示了如何为即时警报完成此操作。下面是一些与 SPAlertHandlerParams 相关的代码,用于获取有关警报和触发警报的项目的信息。
SPAlertHandlerParams ahp;
int id = ahp.eventData[0].itemId; //gets the itemId of the item triggering the notification.
SPListItem myItem = list.GetItembyId(id);
对于即时警报,这非常有用,因为我想要的项目始终位于 eventData 对象的 [0] 位置。对于摘要事件,我想我可以遍历 ahp.eventData 中的所有项目。这有两个问题。
首先,它给了我发送通知的所有事件,而不仅仅是我的。其次, eventData[0].itemId 不再指向列表中的有效 id。它是 6-7 位数字,而不是 3 位数字。
有谁知道获取摘要电子邮件警报信息的正确方法?如果您对此有任何其他问题,请告诉我。
谢谢你的帮助!