SiteMapProvider.RootProvider Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar rotobjektet SiteMapProvider i den aktuella providerhierarkin.
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
Egenskapsvärde
En SiteMapProvider som är den översta platskarteprovidern i providerhierarkin som den aktuella providern tillhör.
Undantag
Det finns en cirkelreferens till den aktuella webbplatsöversiktsprovidern.
Exempel
Följande kodexempel visar hur du implementerar RootProvider egenskapen i en klass som implementerar den abstrakta SiteMapProvider klassen.
SimpleTextSiteMapProvider Använder enkel logik för att avgöra om den aktuella providern ingår i en providerhierarki. Om providern är en del av en hierarki använder den RootProvider egenskapen för den överordnade providern som sin egen. Om providern inte ingår i en hierarki är providern en egen rotprovider.
Det här kodexemplet är en del av ett större exempel för SiteMapProvider klassen.
// 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
Kommentarer
Alla klasser som implementerar SiteMapProvider klassen kan stödja konceptet med en platskartas providerhierarki. Alla hierarkiska relationer mellan leverantörer underhålls utanför omfånget för en SiteMapProviderCollection samling av leverantörerna själva. Ett exempel på en funktionell providerhierarki finns i XmlSiteMapProvider.