다음을 통해 공유


SiteMap.RootNode 속성

정의

사이트 탐색 구조의 최상위 페이지를 나타내는 SiteMapNode 개체를 가져옵니다.

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

속성 값

사이트 탐색 구조의 최상위 페이지를 나타내는 SiteMapNode이거나, 그렇지 않고 보안 트리밍이 설정되어 있으며 현재 사용자에 대해 노드를 반환할 수 없으면 null입니다.

예외

사이트 맵 기능이 사용되지 않는 경우

또는

RootNodenull인 경우(보안 트리밍이 설정되어 있으며 현재 사용자에게 루트 노드가 표시되지 않는 경우 발생)

구성에 기본 공급자가 지정되지 않은 경우

기능이 조금 신뢰 이상에서 실행될 때만 지원되는 경우

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 RootNode 검색할 속성을 SiteMapNode 페이지 계층 구조에서 현재 위치에 관계 없이 사이트의 루트 노드를 나타내는 개체입니다.

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

설명

합니다 SiteMap 검색 클래스는 RootNode 공급자에서 요청 하 여 속성입니다. 공급자 계층 구조 이면는 SiteMap 클래스 계층 구조에서 루트 공급자의 루트 노드를 검색 합니다. 기본 공급자의 루트 노드에 액세스 하려면 호출을 Provider 기본 공급자를 모두 검색 하는 속성 및 해당 RootNode 속성입니다.

XmlSiteMapProvider 기본 공급자 인 개체에 대 한는 SiteMap 클래스를 하나만 지원 RootNode합니다.

구현 하는 경우 사용자 고유의 SiteMapProvider 클래스를 추상 재정의 RootNode 속성을 추적 하는 고유한 구현을 제공 해야 합니다를 RootNode 의 속성을 SiteMapNode 인스턴스.

루트 노드를 디자인 하 여 모든 사용자에 게 표시 되어야 합니다. 루트 노드 보안 트리밍이 사용 되는 경우 모든 사용자에 게 표시 되지 않으면, 액세스 하는 RootNode 속성에서 발생할 수 있습니다는 InvalidOperationException 예외입니다.

적용 대상

추가 정보