SiteMap.CurrentNode 속성
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 요청된 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사이트 맵 정보에 대표 노드가 없는 경우입니다.
예외
사이트 맵 기능을 사용할 수 없습니다.
구성에 지정된 기본 공급자가 없습니다.
이 기능은 낮은 신뢰 이상에서 실행되는 경우에만 지원됩니다.
예제
다음 코드 예제에서는 현재 페이지를 나타내는 개체를 CurrentNodeSiteMapNode 검색 하는 속성을 사용 하는 방법을 보여 줍니다.
<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>
설명
클래스는 SiteMapCurrentNode 공급자에서 속성을 요청하여 검색합니다.
사이트 맵 정보에 페이지에 대한 대표 노드가 없거나 보안 트리밍을 사용하도록 설정하고 현재 사용자 null 에 대해 노드를 반환할 수 없는 경우 반환됩니다.
SiteMapResolve 하나 이상의 구독이 있는 경우 기본 사이트 맵 공급자가 이벤트를 발생합니다.
고유한 개체를 SiteMapProvider 구현하는 경우 해당 개체를 찾아 검색하는 고유한 메커니즘을 CurrentNode만들 수 있습니다. 그러나 클래스를 StaticSiteMapProvider 확장하고 URL 기반 스키마를 사용하여 페이지를 식별하는 경우 메서드를 재정의할 FindSiteMapNode 수 있습니다.