Share via


SPAlertCollection Class

Represents a collection of SPAlert objects. The SPAlertCollection is available as a property of either SPWeb or SPUser.

Inheritance Hierarchy

System.Object
  Microsoft.SharePoint.Administration.SPAutoSerializingObject
    Microsoft.SharePoint.SPBaseCollection
      Microsoft.SharePoint.SPAlertCollection

Namespace:  Microsoft.SharePoint
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
<SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel := True)> _
Public Class SPAlertCollection _
    Inherits SPBaseCollection

Dim instance As SPAlertCollection
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
[SharePointPermissionAttribute(SecurityAction.InheritanceDemand, ObjectModel = true)]
public class SPAlertCollection : SPBaseCollection

Remarks

Use the Alerts property of the SPUser or SPWeb class to return the collection of alerts for the Web site or user. To create an alert, use one of the Add methods of the SPAlertCollection class.

Use an indexer to return a single field from the collection. For example, assuming the collection is assigned to a variable named collAlerts, use collAlerts[index] in C#, or collAlerts(index) in Visual Basic, where index is either the index number of the alert in the collection or the display name of the alert.

Examples

The following code example iterates through all the alerts within a site collection to display the title of each site, the display name of the list and item to which each alert applies, and the name of the user who receives each alert.

The example assumes the existence of an .aspx page that contains a label control.

Dim siteCollection As SPSite = SPControl.GetContextSite(Context)
Dim sites As SPWebCollection = siteCollection.AllWebs
Dim site As SPWeb

For Each site In  sites

    Dim alerts As SPAlertCollection = site.Alerts
    Dim alert As SPAlert

    For Each alert In  alerts

        Label1.Text += SPEncode.HtmlEncode(site.Title) & " :: " _
            & SPEncode.HtmlEncode(alert.Title) & " :: " _
            & alert.User.LoginName & "<BR>"

    Next alert

Next site
SPSite oSiteCollection = SPContext.Current.Site;
SPWebCollection collWebsites = oSite.AllWebs;
foreach (SPWeb oWebsite in collWebsites)
{
    SPAlertCollection collAlerts = oWebsite.Alerts;

    foreach (SPAlert oAlert in collAlerts)
    {
        Label1.Text = SPEncode.HtmlEncode(oWebsite.Title) + " :: " +
            SPEncode.HtmlEncode(oAlert.Title) + " :: " +
            oAlert.User.LoginName + "<BR>";
        writer.Write(strLabelText);
    }
    oWebsite.Dispose();
}

Note

Certain objects implement the IDisposable interface, and you must avoid retaining these objects in memory after they are no longer needed. For information about good coding practices, see Best Practices: Using Disposable Windows SharePoint Services Objects.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

SPAlertCollection Members

Microsoft.SharePoint Namespace