SiteMapProvider.RootProvider Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá kořenový SiteMapProvider objekt v aktuální hierarchii zprostředkovatele.
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
Hodnota vlastnosti
To SiteMapProvider je poskytovatel mapy webu nejvyšší úrovně v hierarchii poskytovatele, do kterého aktuální poskytovatel patří.
Výjimky
Existuje cyklický odkaz na aktuálního poskytovatele mapy webu.
Příklady
Následující příklad kódu ukazuje, jak implementovat RootProvider vlastnost ve třídě, která implementuje abstraktní SiteMapProvider třídu. Pomocí SimpleTextSiteMapProvider
jednoduché logiky určíte, jestli je aktuální zprostředkovatel součástí hierarchie zprostředkovatele. Pokud je zprostředkovatel součástí hierarchie, použije RootProvider vlastnost nadřazeného zprostředkovatele jako vlastní. Pokud poskytovatel není součástí hierarchie, je zprostředkovatel jeho vlastním kořenovým poskytovatelem.
Tento příklad kódu je součástí většího příkladu poskytnutého SiteMapProvider pro třídu.
// 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
Poznámky
Všechny třídy, které implementují SiteMapProvider třídu, mohou podporovat koncept hierarchie zprostředkovatele mapy webu. Všechny hierarchické vztahy mezi zprostředkovateli se udržují mimo rozsah SiteMapProviderCollection kolekce samotnými poskytovateli. Příklad hierarchie funkčního zprostředkovatele naleznete v tématu XmlSiteMapProvider.