Partager via


SiteMapProvider.RootProvider Propriété

Définition

Obtient l'objet SiteMapProvider racine dans la hiérarchie de fournisseur actuelle.

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

Valeur de propriété

SiteMapProvider

SiteMapProvider qui constitue le fournisseur de plan de site de niveau supérieur dans la hiérarchie de fournisseurs à laquelle le fournisseur actuel appartient.

Exceptions

Il existe une référence circulaire au fournisseur de plan de site actuel.

Exemples

L’exemple de code suivant montre comment implémenter la RootProvider propriété dans une classe qui implémente la classe abstraite SiteMapProvider . La SimpleTextSiteMapProvider logique utilise une logique simple pour déterminer si le fournisseur actuel fait partie d’une hiérarchie de fournisseurs. Si le fournisseur fait partie d’une hiérarchie, il utilise la RootProvider propriété du fournisseur parent comme lui-même. Si le fournisseur ne fait pas partie d’une hiérarchie, le fournisseur est son propre fournisseur racine.

Cet exemple de code fait partie d’un exemple plus grand fourni pour la SiteMapProvider classe.

// 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

Remarques

Toutes les classes qui implémentent la SiteMapProvider classe peuvent prendre en charge le concept d’une hiérarchie de fournisseur de mappage de site. Toutes les relations hiérarchiques entre les fournisseurs sont conservées en dehors de l’étendue d’une SiteMapProviderCollection collection par les fournisseurs eux-mêmes. Pour obtenir un exemple de hiérarchie de fournisseur fonctionnel, consultez XmlSiteMapProvider.

S’applique à

Voir aussi