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,為目前提供者所屬提供者階層架構中的最上層網站導覽提供者。
例外狀況
具有目前網站導覽提供者的循環參考。
範例
下列程式碼範例示範如何在 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 。