다음을 통해 공유


SiteMap.CurrentNode 속성

정의

현재 요청된 페이지를 나타내는 SiteMapNode 컨트롤을 가져옵니다.

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

속성 값

현재 요청된 페이지를 나타내는 SiteMapNode 인스턴스이거나, 사이트 맵 정보에 표시되는 노드가 없는 경우 null입니다.

예외

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

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

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

예제

다음 코드 예제를 사용 하는 방법에 설명 합니다 CurrentNode 검색할 속성의 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 검색 클래스는 CurrentNode 공급자에서 요청 하 여 속성입니다.

사이트 맵 정보 페이지에 대 한 노드가 있는 경우 또는 보안 트리밍이 설정 되어 있으며 현재 사용자에 대 한 노드를 반환할 수 없는 경우 null 반환 됩니다.

SiteMapResolve 이벤트는 기본 사이트 맵 공급자가 하나 또는 더 많은 구독이 존재 합니다.

구현 하는 경우 사용자 고유의 SiteMapProvider 개체를 찾고 검색 하는 사용자 고유의 메커니즘을 만들 수 있습니다는 CurrentNode합니다. 그러나 확장 하는 경우는 StaticSiteMapProvider 클래스, URL 기반 체계를 사용 하 여 페이지를 식별 하 고 재정의할 수 있습니다는 FindSiteMapNode 메서드.

적용 대상

추가 정보