Bagikan melalui


SiteMap.RootNode Properti

Definisi

SiteMapNode Mendapatkan objek yang mewakili halaman tingkat atas struktur navigasi untuk situs.

public:
 static property System::Web::SiteMapNode ^ RootNode { System::Web::SiteMapNode ^ get(); };
public static System.Web.SiteMapNode RootNode { get; }
static member RootNode : System.Web.SiteMapNode
Public Shared ReadOnly Property RootNode As SiteMapNode

Nilai Properti

SiteMapNode Yang mewakili halaman tingkat atas struktur navigasi situs; jika tidak, null, jika pemangkasan keamanan diaktifkan dan simpul tidak dapat dikembalikan ke pengguna saat ini.

Pengecualian

Fitur peta situs tidak diaktifkan.

-atau-

Menyelesaikan RootNode ke null, yang terjadi jika pemangkasan keamanan diaktifkan dan simpul akar tidak terlihat oleh pengguna saat ini.

Penyedia default yang ditentukan dalam konfigurasi tidak ada.

Fitur ini hanya didukung saat berjalan dalam kepercayaan Rendah atau lebih tinggi.

Contoh

Contoh kode berikut menunjukkan cara menggunakan RootNode properti untuk mengambil SiteMapNode objek yang mewakili simpul akar situs, terlepas dari lokasi saat ini dalam hierarki halaman.

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Examine the CurrentNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.CurrentNode.Title + "<br />");
    Response.Write("<font COLOR='red'>" + SiteMap.CurrentNode.Url + "</font><br />");

    // What nodes are children of the CurrentNode?
    if (SiteMap.CurrentNode.HasChildNodes) {
        IEnumerator childNodesEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator();
        while (childNodesEnumerator.MoveNext()) {
            // Prints the Title of each node.
            Response.Write(childNodesEnumerator.Current.ToString() + "<br />");
        }
    }
    Response.Write("<hr />");

    // Examine the RootNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.RootNode.Title + "<br />");
    Response.Write(SiteMap.RootNode.Url + "<br />");

    // What nodes are children of the RootNode?
    if (SiteMap.RootNode.HasChildNodes) {
        IEnumerator rootNodesChildrenEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator();
        while (rootNodesChildrenEnumerator.MoveNext()) {
            // Prints the Title of each node.
            Response.Write(rootNodesChildrenEnumerator.Current.ToString() + "<br />");
        }
    }
}
</script>
<script runat="server">

Private Sub Page_Load(sender As Object, e As EventArgs)

    ' Examine the CurrentNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.CurrentNode.Title & "<br />")
    Response.Write("<font COLOR='red'>" & SiteMap.CurrentNode.Url & "</font><br />")

    ' What nodes are children of the CurrentNode?
    If (SiteMap.CurrentNode.HasChildNodes) Then
        Dim ChildNodesEnumerator As IEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator()
        While (ChildNodesEnumerator.MoveNext())
            ' Prints the Title of each node.
            Response.Write(ChildNodesEnumerator.Current.ToString() & "<br />")
        End While
    End If
    Response.Write("<hr />")

    ' Examine the RootNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.RootNode.Title & "<br />")
    Response.Write(SiteMap.RootNode.Url & "<br />")

    ' What nodes are children of the RootNode?
    If (SiteMap.RootNode.HasChildNodes) Then
        Dim RootNodesChildrenEnumerator As IEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator()
        While (RootNodesChildrenEnumerator.MoveNext())
            ' Prints the Title of each node.
            Response.Write(RootNodesChildrenEnumerator.Current.ToString() & "<br />")
        End While
    End If

End Sub ' Page_Load
</script>

Keterangan

Kelas SiteMap mengambil RootNode properti dengan memintanya dari penyedia. Jika ada hierarki penyedia, SiteMap kelas mengambil simpul akar penyedia akar dalam hierarki. Untuk mengakses simpul akar penyedia default, panggil Provider properti , yang mengambil penyedia default dan propertinya RootNode .

Objek XmlSiteMapProvider , yang merupakan penyedia default untuk SiteMap kelas , hanya mendukung satu RootNode.

Jika Anda menerapkan kelas Anda sendiri SiteMapProvider dan mengambil alih properti abstrak RootNode , Anda harus menyediakan implementasi Anda sendiri untuk melacak RootNode properti SiteMapNode instans.

Simpul akar harus terlihat oleh semua pengguna, berdasarkan desain. Jika simpul akar tidak terlihat oleh semua pengguna saat pemangkasan keamanan diaktifkan, mengakses RootNode properti dapat mengakibatkan InvalidOperationException pengecualian.

Berlaku untuk

Lihat juga