SiteMapProvider.RootProvider 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
获取当前提供程序层次结构中的根 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,表示当前提供程序所属的提供程序层次结构中的顶级站点地图提供程序。
例外
存在一个对当前站点地图提供程序的循环引用。
示例
下面的代码示例演示如何在实现抽象SiteMapProvider类的类中实现RootProvider属性。 使用 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。