Export (0) Print
Expand All

SiteMapProvider.ParentProvider Property

Gets or sets the parent SiteMapProvider object of the current provider.

Namespace:  System.Web
Assembly:  System.Web (in System.Web.dll)

public virtual SiteMapProvider ParentProvider { get; set; }

Property Value

Type: System.Web.SiteMapProvider
The parent provider of the current SiteMapProvider.

All classes that implement the abstract SiteMapProvider class can support the concept of a site map provider hierarchy. Any hierarchical relationships between providers are maintained outside the scope of a SiteMapProviderCollection collection by the providers themselves. For an example of a functional provider hierarchy, see XmlSiteMapProvider.

The following code example demonstrates how to implement the ParentProvider property in a class that implements the abstract SiteMapProvider class.

This code example is part of a larger example provided for the SiteMapProvider class.

// Implement the ParentProvider property. 
public override SiteMapProvider ParentProvider
{
  get
  {
    return parentSiteMapProvider;
  }
  set
  {
    parentSiteMapProvider = value;
  }
}

// Implement the RootProvider property. 
public override SiteMapProvider RootProvider
{
  get
  {
    // If the current instance belongs to a provider hierarchy, it 
    // cannot be the RootProvider. Rely on the ParentProvider. 
    if (this.ParentProvider != null)
    {
      return ParentProvider.RootProvider;
    }
    // If the current instance does not have a ParentProvider, it is 
    // not a child in a hierarchy, and can be the RootProvider. 
    else
    {
      return this;
    }
  }
}

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0
Show:
© 2015 Microsoft