Aracılığıyla paylaş


SiteMap.CurrentNode Özellik

Tanım

şu anda istenen sayfayı temsil eden bir SiteMapNode denetim alır.

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

Özellik Değeri

SiteMapNode Şu anda istenen sayfayı temsil eden bir örnek; aksi takdirde, nullsite haritası bilgilerinde temsili bir düğüm yoksa.

Özel durumlar

Site haritası özelliği etkinleştirilmedi.

Yapılandırmada belirtilen varsayılan sağlayıcı yok.

Bu özellik yalnızca Düşük güven veya daha yüksek bir değerde çalışırken desteklenir.

Örnekler

Aşağıdaki kod örneği, geçerli sayfayı CurrentNode temsil eden nesneyi almak SiteMapNode için özelliğinin nasıl kullanılacağını gösterir.

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

Açıklamalar

sınıfı, SiteMap sağlayıcıdan isteyerek özelliğini alır CurrentNode .

Site haritası bilgilerinde sayfa için temsili düğüm yoksa veya güvenlik kırpması etkinse ve geçerli kullanıcı için düğüm döndürülemiyorsa döndürülür null .

Olay SiteMapResolve , bir veya daha fazla abonelik varsa varsayılan site haritası sağlayıcısı tarafından oluşturulur.

Kendi SiteMapProvider nesnenizi uygularsanız, bulmak ve almak CurrentNodeiçin kendi mekanizmanızı oluşturabilirsiniz. Ancak, sınıfını StaticSiteMapProvider genişletir ve sayfaları tanımlamak için URL tabanlı bir düzen kullanırsanız, yöntemini geçersiz kılabilirsiniz FindSiteMapNode .

Şunlara uygulanır

Ayrıca bkz.