SiteMapProvider.RootProvider Eigenschap
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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.