我正在为WSS 3.0解决方案定制电子邮件通知。我使用从IAlertNotifyHandler继承的自定义类来生成电子邮件。有一个很好的示例here,它展示了如何为即时警报执行此操作。以下是与SPAlertHandlerParams相关的一些代码,它用于获取有关警报和触发警报的项的信息。
SPAlertHandlerParams ahp;
int id = ahp.eventData[0].itemId; //gets the itemId of the item triggering the notification.
SPListItem myItem = list.GetItembyId(id);对于即时提醒,这非常有效,因为我想要的项总是位于eventData对象的位置。对于摘要事件,我认为我可以遍历ahp.eventData中的所有项。这有两个问题。
首先,它会给我发送通知的所有事件,而不仅仅是我的事件。其次,eventData.itemId不再指向列表中的有效id。它是6-7位数字,而不是3位数字。
有谁知道获取摘要电子邮件警报信息的正确方法吗?如果您对此有任何其他问题,请告诉我。
谢谢你的帮忙!
发布于 2011-07-14 22:35:19
对于我的项目,我创建了一个自定义计时器作业(使用Andrew Connell的post )来模拟警报功能。它在夜间运行,并查询任何订阅了我的列表的用户,每天都会发出警报。然后,它将所有新任务打包到自定义电子邮件消息中。
我保留了自定义警报,以抑制来自系统的任何每日通知。我只是返回'True‘,这样就不会为仅分配给1个人的任务发送警报。我想回过头来看,我可以在自定义警报中运行查询代码,而不需要单独的计时器作业。
https://stackoverflow.com/questions/5226954
复制相似问题