我使用以下代码订阅了列表中的特定项目。这将仅为过滤的项目发送电子邮件警报。但我希望每次在列表中添加相同类型的项目时都会收到电子邮件警报。我怎样才能实现这个功能?
{
SPAlert newAlert = oUser.Alerts.Add();
newAlert.Title = mylistitem.Title;
newAlert.AlertType = SPAlertType.Item;
newAlert.Item = mylistitem;
SPListItem myListItem = oWeb.Lists[_PAGES].Items.GetItemById(mylistitem.ID);
newAlert.AlertFrequency = SPAlertFrequency.Immediate;
newAlert.Update(true);
newAlert = null;
}
oWeb.Lists[_PAGES].Update();
答案 0 :(得分:0)
创建一个列表提醒模板,用于过滤您的类型并上传到webservice alerttemplate集合。
使用该alerttemplate创建一个列表提醒并将其附加到您的列表中。
答案 1 :(得分:0)
在 SPAlert 中,您具有名为Filter的属性,可以在其中向指定的ContentType添加Caml查询。
<Query><Contains> <FieldRef Name='ContentType' /><Value Type='Text'>ContentTypeName</Value> </Contains></Query>
请记住,您必须将 Value 类型设置为 Text ,否则会出现解析错误。