SiteMapProvider.RootProvider Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera obiekt główny SiteMapProvider w bieżącej hierarchii dostawcy.
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
Wartość właściwości
Jest SiteMapProvider to dostawca mapy lokacji najwyższego poziomu w hierarchii dostawcy, do którego należy bieżący dostawca.
Wyjątki
Istnieje odwołanie cykliczne do bieżącego dostawcy mapy lokacji.
Przykłady
Poniższy przykład kodu pokazuje, jak zaimplementować RootProvider właściwość w klasie, która implementuje klasę abstrakcyjną SiteMapProvider . Używa SimpleTextSiteMapProvider
prostej logiki do określenia, czy bieżący dostawca jest częścią hierarchii dostawcy. Jeśli dostawca jest częścią hierarchii, używa RootProvider właściwości dla dostawcy nadrzędnego jako własnego. Jeśli dostawca nie jest częścią hierarchii, dostawca jest własnym dostawcą głównym.
Ten przykład kodu jest częścią większego przykładu podanego SiteMapProvider dla klasy.
// 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
Uwagi
Wszystkie klasy implementujące SiteMapProvider klasę mogą obsługiwać koncepcję hierarchii dostawcy mapy lokacji. Wszelkie hierarchiczne relacje między dostawcami są utrzymywane poza zakresem SiteMapProviderCollection kolekcji przez samych dostawców. Przykład hierarchii dostawcy funkcjonalnego można znaleźć w temacie XmlSiteMapProvider.