SiteMapProvider.RootProvider Свойство

Определение

Получает корневой объект SiteMapProvider в текущую иерархию поставщиков.Gets the root SiteMapProvider object in the current provider hierarchy.

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

Значение свойства

Объект SiteMapProvider, являющийся главным поставщиком карты веб-узла в иерархии поставщиков, к которой принадлежит текущий поставщик.An SiteMapProvider that is the top-level site map provider in the provider hierarchy that the current provider belongs to.

Исключения

Существует циклическая ссылка на текущего поставщика карты веб-узла.There is a circular reference to the current site map provider.

Примеры

В следующем примере кода показано, как реализовать RootProvider свойство в классе, реализующем абстрактный SiteMapProvider класс.The following code example demonstrates how to implement the RootProvider property in a class that implements the abstract SiteMapProvider class. Компонент SimpleTextSiteMapProvider использует простую логику для определения того, является ли текущий поставщик частью иерархии поставщиков.The SimpleTextSiteMapProvider uses simple logic to determine whether the current provider is part of a provider hierarchy. Если поставщик является частью иерархии, он использует RootProvider свойство родительского поставщика в качестве собственного.If the provider is part of a hierarchy, it uses the RootProvider property for the parent provider as its own. Если поставщик не является частью иерархии, поставщик является своим собственным поставщиком корневого поставщика.If the provider is not part of a hierarchy, the provider is its own root provider.

Этот пример кода является частью большого примера, SiteMapProvider приведенного для класса.This code example is part of a larger example provided for the SiteMapProvider class.

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

Комментарии

Все классы, реализующие SiteMapProvider класс, могут поддерживать концепцию иерархии поставщика карт узла.All classes that implement the SiteMapProvider class can support the concept of a site map provider hierarchy. Любые иерархические связи между поставщиками поддерживаются вне области SiteMapProviderCollection коллекции самими поставщиками.Any hierarchical relationships between providers are maintained outside the scope of a SiteMapProviderCollection collection by the providers themselves. Пример иерархии функционального поставщика см. в разделе XmlSiteMapProvider.For an example of a functional provider hierarchy, see XmlSiteMapProvider.

Применяется к

Дополнительно