Bagikan melalui


SiteMapProvider.RootProvider Properti

Definisi

Mendapatkan objek akar SiteMapProvider dalam hierarki penyedia saat ini.

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

Nilai Properti

Yang SiteMapProvider merupakan penyedia peta situs tingkat atas dalam hierarki penyedia tempat penyedia saat ini berada.

Pengecualian

Ada referensi melingkar ke penyedia peta situs saat ini.

Contoh

Contoh kode berikut menunjukkan cara mengimplementasikan RootProvider properti di kelas yang mengimplementasikan kelas abstrak SiteMapProvider . menggunakan SimpleTextSiteMapProvider logika sederhana untuk menentukan apakah penyedia saat ini adalah bagian dari hierarki penyedia. Jika penyedia adalah bagian dari hierarki, penyedia menggunakan RootProvider properti untuk penyedia induk sebagai miliknya. Jika penyedia bukan bagian dari hierarki, penyedia adalah penyedia akarnya sendiri.

Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk SiteMapProvider kelas .

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

Keterangan

Semua kelas yang mengimplementasikan SiteMapProvider kelas dapat mendukung konsep hierarki penyedia peta situs. Setiap hubungan hierarkis antara penyedia dipertahankan di luar cakupan SiteMapProviderCollection koleksi oleh penyedia itu sendiri. Untuk contoh hierarki penyedia fungsional, lihat XmlSiteMapProvider.

Berlaku untuk

Lihat juga