Aracılığıyla paylaş


SiteMap.RootNode Özellik

Tanım

Site için gezinti yapısının en üst düzey sayfasını temsil eden bir SiteMapNode nesnesi alır.

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

Özellik Değeri

SiteMapNode Sitenin gezinti yapısının en üst düzey sayfasını temsil eden bir; aksi takdirde, nullgüvenlik kırpma etkinleştirildiyse ve düğüm geçerli kullanıcıya döndürülemiyorsa.

Özel durumlar

Site haritası özelliği etkinleştirilmedi.

-veya-

null, RootNode güvenlik kırpması etkinse ve kök düğüm geçerli kullanıcı tarafından görülmezse oluşur.

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

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

Örnekler

Aşağıdaki kod örneği, sayfa hiyerarşisindeki geçerli konumdan RootNode bağımsız olarak sitenin SiteMapNode kök düğümünü temsil eden nesneyi almak 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 RootNode . Sağlayıcı hiyerarşisi varsa, sınıfı hiyerarşideki SiteMap kök sağlayıcının kök düğümünü alır. Varsayılan sağlayıcının kök düğümüne erişmek için, hem varsayılan sağlayıcıyı Provider hem de özelliğini alan özelliğini çağırın RootNode .

XmlSiteMapProvider sınıfı için SiteMap varsayılan sağlayıcı olan nesnesi yalnızca bir RootNodeöğesini destekler.

Kendi SiteMapProvider sınıfınızı uygular ve soyut RootNode özelliğini geçersiz kılarsanız, örneğin özelliğini SiteMapNode izlemek RootNode için kendi uygulamanızı sağlamanız gerekir.

Kök düğümün tasarım gereği tüm kullanıcılar tarafından görülebilmesi gerekir. Güvenlik kırpma etkinleştirildiğinde kök düğüm tüm kullanıcılar tarafından görülemiyorsa, özelliğe erişmek RootNode bir InvalidOperationException özel durumla sonuçlanabilir.

Şunlara uygulanır

Ayrıca bkz.