SiteMapProvider.RootProvider Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает корневой объект SiteMapProvider в текущую иерархию поставщиков.
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, являющийся главным поставщиком карты веб-узла в иерархии поставщиков, к которой принадлежит текущий поставщик.
Исключения
Существует циклическая ссылка на текущего поставщика карты веб-узла.
Примеры
В следующем примере кода показано, как реализовать RootProvider свойство в классе, который реализует абстрактный SiteMapProvider класс. Использует SimpleTextSiteMapProvider
простую логику, чтобы определить, является ли текущий поставщик частью иерархии поставщика. Если поставщик является частью иерархии, он использует RootProvider свойство родительского поставщика в качестве собственного. Если поставщик не является частью иерархии, поставщик является собственным корневым поставщиком.
Этот пример кода является частью более крупного примера, предоставленного SiteMapProvider для класса.
// 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 этот класс, могут поддерживать концепцию иерархии поставщика карты сайта. Все иерархические связи между поставщиками поддерживаются за пределами SiteMapProviderCollection области коллекции самими поставщиками. Пример иерархии функциональных поставщиков см. в разделе XmlSiteMapProvider.