Bagikan melalui


SiteMap.CurrentNode Properti

Definisi

SiteMapNode Mendapatkan kontrol yang mewakili halaman yang saat ini diminta.

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

Nilai Properti

SiteMapNode Instans yang mewakili halaman yang saat ini diminta; jika tidak, , nulljika tidak ada simpul perwakilan dalam informasi peta situs.

Pengecualian

Fitur peta situs tidak diaktifkan.

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 CurrentNode properti untuk mengambil SiteMapNode objek yang mewakili halaman saat ini.

<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 CurrentNode properti dengan memintanya dari penyedia.

Jika tidak ada simpul perwakilan yang ada untuk halaman di informasi peta situs, atau jika pemangkasan keamanan diaktifkan dan simpul tidak dapat dikembalikan untuk pengguna saat ini, null dikembalikan.

Peristiwa SiteMapResolve ini dimunculkan oleh penyedia peta situs default jika ada satu atau beberapa langganan.

Jika Anda menerapkan objek Anda sendiri SiteMapProvider , Anda dapat membuat mekanisme Anda sendiri untuk menemukan dan mengambil CurrentNode. Namun, jika Anda memperluas StaticSiteMapProvider kelas dan menggunakan skema berbasis URL untuk mengidentifikasi halaman, Anda dapat mengambil alih metode .FindSiteMapNode

Berlaku untuk

Lihat juga