SiteMapProvider.RootProvider Eigenschap

Definitie

Hiermee haalt u het hoofdobject SiteMapProvider op in de huidige providerhiërarchie.

public:
 virtual property System::Web::SiteMapProvider ^ RootProvider { System::Web::SiteMapProvider ^ get(); };
public virtual System.Web.SiteMapProvider RootProvider { get; }
member this.RootProvider : System.Web.SiteMapProvider
Public Overridable ReadOnly Property RootProvider As SiteMapProvider

Waarde van eigenschap

Dit SiteMapProvider is de siteoverzichtprovider op het hoogste niveau in de providerhiërarchie waartoe de huidige provider behoort.

Uitzonderingen

Er is een kringverwijzing naar de huidige siteoverzichtprovider.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de RootProvider eigenschap implementeert in een klasse die de abstracte SiteMapProvider klasse implementeert. De SimpleTextSiteMapProvider methode maakt gebruik van eenvoudige logica om te bepalen of de huidige provider deel uitmaakt van een providerhiërarchie. Als de provider deel uitmaakt van een hiërarchie, wordt de RootProvider eigenschap voor de bovenliggende provider gebruikt als een eigen provider. Als de provider geen deel uitmaakt van een hiërarchie, is de provider een eigen hoofdprovider.

Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de SiteMapProvider klasse.

// 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;
    }
  }
}
' Implement the ParentProvider property.
Public Overrides Property ParentProvider() As SiteMapProvider
  Get
    Return parentSiteMapProvider
  End Get
  Set(ByVal value As SiteMapProvider)
    parentSiteMapProvider = Value
  End Set
End Property

' Implement the RootProvider property.
Public Overrides ReadOnly Property RootProvider() As SiteMapProvider
  Get
    ' If the current instance belongs to a provider hierarchy, it
    ' cannot be the RootProvider. Rely on the ParentProvider.
    If Not (Me.ParentProvider Is Nothing) Then
      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 Me
    End If
  End Get
End Property

Opmerkingen

Alle klassen die de SiteMapProvider klasse implementeren, kunnen het concept van een siteoverzichtproviderhiërarchie ondersteunen. Hiërarchische relaties tussen providers worden onderhouden buiten het bereik van een SiteMapProviderCollection verzameling door de providers zelf. Zie voor een voorbeeld van een functionele providerhiërarchie XmlSiteMapProvider.

Van toepassing op

Zie ook