Поделиться через


Метод IAlertNotifyHandler.OnNotification

Происходит после оповещения отправляются и возвращает сведения о уведомления о предупреждении.

Пространство имен:  Microsoft.SharePoint
Сборка:  Microsoft.SharePoint (в Microsoft.SharePoint.dll)

Синтаксис

'Декларация
Function OnNotification ( _
    ahp As SPAlertHandlerParams _
) As Boolean
'Применение
Dim instance As IAlertNotifyHandler
Dim ahp As SPAlertHandlerParams
Dim returnValue As Boolean

returnValue = instance.OnNotification(ahp)
bool OnNotification(
    SPAlertHandlerParams ahp
)

Параметры

Возвращаемое значение

Тип: System.Boolean
true Если SharePoint Foundation помечает уведомление как обработано; в противном случае — false.

Замечания

Создайте класс, производный от интерфейса IAlertNotificationHandler и использует метод OnNotification . Это позволяет перехватывать исходящих сообщений оповещений и изменять их. Мы доступны большинство свойств предупреждения и некоторые разбора xml и код объектной модели SharePoint, мы извлечь все сведения, необходимые для создания сообщения электронной почты. Эти сведения можно используйте для создания заглушки HTML для отображения сообщения электронной почты на основе требований и отправить по электронной почте с помощью функции SendMail в SharePoint.

Пример форматирует вывод как можно точнее выглядеть шаблон оповещений электронной почты по умолчанию, можно настроить его дальше в соответствии со своими потребностями.

Примечание

Включите пространства имен Microsoft.SharePoint и Microsoft.SharePoint.Utilities в проект.

Примеры

    public class Class1:IAlertNotifyHandler
    {
        #region IAlertNotifyHandler Members
        public bool OnNotification(SPAlertHandlerParams ahp)
        {
            try
            {
                SPSite site = new SPSite(ahp.siteUrl+ahp.webUrl);
                SPWeb web = site.OpenWeb();
                SPList list=web.Lists[ahp.a.ListID];
                SPListItem item = list.GetItemById(ahp.eventData[0].itemId) ;
                
                string FullPath=HttpUtility.UrlPathEncode(ahp.siteUrl+"/"+ahp.webUrl+"/"+list.Title+"/"+item.Name);
                string ListPath = HttpUtility.UrlPathEncode(ahp.siteUrl + "/" + ahp.webUrl + "/" + list.Title);
                string webPath=HttpUtility.UrlPathEncode(ahp.siteUrl+"/"+ahp.webUrl);
                
                string build = "";
                 if (ahp.eventData[0].eventType==1)
                 eventType="Added";
                 else if(ahp.eventData[0].eventType==2)
                 eventType="Changed";
                 else if(ahp.eventData[0].eventType==3)
                 eventType="Deleted";

         build = "<style type=\"text/css\">.style1 {font-size: small;       border: 1px solid #000000;"+
         "background-color: #DEE7FE;}.style2 {               border: 1px solid #000000;}</style></head>"+                    
         "<p><strong>"+ item.Name.ToString() +"</strong> has been "+eventType +"</p>"+
         "<table style=\"width: 100%\" class=\"style2\"><tr><td style=\"width: 25%\" class=\"style1\">"+
         "<a href="+ webPath +"/_layouts/mysubs.aspx>Modify my Settings</a></td>"+
                  "<td style=\"width: 25%\" class=\"style1\"> 
                   <a href="+ FullPath +">View "+item.Name+"</a></td>"+
                    "<td style=\"width: 25%\" class=\"style1\"><a href=" + ListPath + ">View " + list.Title + "</a></td>" +
                    "        </tr></table>";
                string subject=list.Title.ToString() ;               
                SPUtility.SendEmail(web,true , false, ahp.headers["to"].ToString(), subject,build);
                return false;
            }
            catch (System.Exception ex)
            {
                return false;
            }
        }
        #endregion
    }

См. также

Справочные материалы

IAlertNotifyHandler интерфейс

Элементы IAlertNotifyHandler

Пространство имен Microsoft.SharePoint