Partilhar via


SiteMapProvider.RootProvider Propriedade

Definição

Obtém o objeto SiteMapProvider raiz na hierarquia de provedores atuais.

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

Valor da propriedade

SiteMapProvider

Um SiteMapProvider provedor de mapa de site de nível superior na hierarquia do provedor à qual o provedor atual pertence.

Exceções

Há uma referência circular ao provedor de mapa de site atual.

Exemplos

O exemplo de código a seguir demonstra como implementar a RootProvider propriedade em uma classe que implementa a classe abstrata SiteMapProvider . A SimpleTextSiteMapProvider lógica usa simples para determinar se o provedor atual faz parte de uma hierarquia de provedores. Se o provedor fizer parte de uma hierarquia, ele usará a RootProvider propriedade para o provedor pai como sua própria. Se o provedor não fizer parte de uma hierarquia, o provedor será seu próprio provedor raiz.

Este exemplo de código faz parte de um exemplo maior fornecido para a 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

Comentários

Todas as classes que implementam a SiteMapProvider classe podem dar suporte ao conceito de uma hierarquia de provedores de mapa de site. Quaisquer relações hierárquicas entre provedores são mantidas fora do escopo de uma SiteMapProviderCollection coleção pelos próprios provedores. Para obter um exemplo de uma hierarquia de provedor funcional, consulte XmlSiteMapProvider.

Aplica-se a

Confira também