Class SubscriptionList
Display a list of subscription options
Implements
Inherited Members
Namespace: EPiServer.Web.WebControls
Assembly: EPiServer.Cms.AspNet.dll
Version: 11.20.7Syntax
[Obsolete("The subscription feature is being phased out, it will continue to work but we do recommend not using it for new solutions")]
public class SubscriptionList : PageListData, INotifyPropertyChanged, IPageControl, IEnumerable, IPageSource, INamingContainerExamples
  If you want to change the presentation of the code produced by this control 
  you can override the CreateChildControls and SaveSubscriptions methods.
        protected override void CreateChildControls()
{
CheckBoxList list = new CheckBoxList();
PageDataCollection pages = GetPages();
foreach (PageData page in pages)
{
    ListItem item = new ListItem(page.PageName, page.PageLink.ToString());
    item.Selected = Subscription.IsSubscribingTo(page.PageLink);
    list.Items.Add(item);
}
list.SelectedIndexChanged += new EventHandler(SaveSubscriptions);
Controls.Add(list);
}
protected new void SaveSubscriptions(object sender, EventArgs e)
{
CheckBoxList list = sender as CheckBoxList;
foreach (ListItem item in list.Items)
{
    if (item.Selected)
        Subscription.SubscribeTo(PageReference.Parse(item.Value));
    else
        Subscription.UnSubscribe(PageReference.Parse(item.Value));
}
}Constructors
SubscriptionList()
Initializes a new instance of the SubscriptionDataSource class.
Declaration
public SubscriptionList()Properties
Language
Language for the subscription.
Declaration
public string Language { get; set; }Property Value
| Type | Description | 
|---|---|
| System.String | 
Remarks
Only used for multilanguage
SubscriptionService
Gets or sets the subscription service that fetches subsciption pages.
Declaration
public Injected<SubscriptionService> SubscriptionService { get; set; }Property Value
| Type | Description | 
|---|---|
| Injected<SubscriptionService> | The subscription service. | 
Methods
CreateChildControls()
Called by the ASP.NET page framework to notify server controls that use composition-based implementation to create any child controls they contain in preparation for posting back or rendering.
Declaration
protected override void CreateChildControls()PopulatePages(PageDataCollection)
Called once when the control is populating the collection of pages
Declaration
protected override void PopulatePages(PageDataCollection pages)Parameters
| Type | Name | Description | 
|---|---|---|
| PageDataCollection | pages | Collection to populate with pages | 
Overrides
Remarks
Override this method to customize the population of pages, if this control has been data bound the collection may already contain pages.
Examples
Example how a list control may choose to implement this method
protected override void PopulatePages(PageDataCollection pages)
{
if(PageLink.ID!=0)
GetChildren(PageLink,pages);
}SaveSubscriptions(Object, EventArgs)
Saves the subscriptions.
Declaration
protected void SaveSubscriptions(object sender, EventArgs e)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | sender | The sender. | 
| System.EventArgs | e | The System.EventArgs instance containing the event data. | 
