SiteMap 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
SiteMap 클래스는 하나 이상의 사이트 맵 공급자가 제공하는 사이트의 탐색 구조에 대한 메모리 내 표현입니다. 이 클래스는 상속될 수 없습니다.
public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
- 상속
-
SiteMap
예제
이 섹션에는 두 코드 예제가 있습니다. 첫 번째 코드 예제에서는 Web.config 파일에 사이트 맵 공급자를 선언 하는 방법에 설명 합니다. 두 번째 코드 예제를 사용 하는 방법에 설명 된 SiteMap 개체입니다.
다음 코드 예제는 Web.config 구성 섹션을 보여 주는 방법을 XmlSiteMapProvider 개체가 기본적으로 선언 된 SiteMapProvider 개체입니다.
<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
<providers>
<add name="MyXmlSiteMapProvider"
description="The site map provider that reads in the .sitemap XML files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="my.sitemap" />
</providers>
</siteMap>
다음 코드 예제를 사용 하는 방법에 설명 합니다 SiteMap 에 대 한 정보를 표시 하려면 해당 정적 멤버에 액세스 하 여 개체를 RootNode 및 CurrentNode 속성입니다. 통해 렌더링 되는 출력 비교는 SiteMapPath 제어 합니다.
<%@ Page language="c#"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:SiteMapPath
runat="server"
ID="SiteMapPath1"
ShowToolTips="false"/>
</form>
</body>
</html>
<%@ Page language="VB"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Private Sub Page_Load(sender As Object, e As System.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>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:SiteMapPath
runat="server"
ID="SiteMapPath1"
ShowToolTips="false"/>
</form>
</body>
</html>
설명
사이트 맵와 함께 사용 되는 SiteMapDataSource, SiteMapPath, 및 다른 컨트롤을 웹 사이트를 탐색 하는 사용자에 대 한 유용한 탐색 인터페이스를 렌더링 합니다. A SiteMap 개체는 탐색을 사용 하 여 페이지 및 컨트롤 개발자에 대 한 읽기 전용 사이트 맵 정보에 대 한 액세스를 제공 하는 ASP.NET 사이트 탐색 인프라의 구성 요소 및 SiteMapDataSource 컨트롤입니다. ASP.NET 사이트 탐색 인프라의 다른 구성 요소를 포함 합니다 SiteMapProvider 및 XmlSiteMapProvider 클래스, Web.sitemap 파일 및 사용 하는 다양 한 컨트롤을 SiteMap 클래스와 같은 SiteMapPath 콘텐츠를 렌더링 하 및 메뉴입니다.
SiteMap 몇 가지 기능이 있습니다.
사이트 탐색 계층 구조 (수만 하나의 루트 요소)의 루트 노드를 제공 합니다.
사이트 맵 공급자가 보안 주체, 멤버 또는 기본 공급자를 식별 합니다.
만드는 데 사용 되는 모든 공급자 개체를 추적 합니다 SiteMap합니다.
근본적으로 SiteMap 의 계층적 컬렉션에 대 한 컨테이너인 SiteMapNode 개체입니다. 그러나는 SiteMap 노드 간의 관계를 유지 하지 않습니다 아니라이 대 한 대리자 사이트 맵 공급자입니다. 합니다 SiteMap 역할을 사이트 탐색 정보에 대 한 인터페이스 (형태로 SiteMapNode 개체) 이러한 사이트 맵 공급자가 유지 되는 합니다. 공급자에서이 액세스할 수 있는 노출 및 사이트 탐색 데이터를 추적 해당 Providers 컬렉션입니다. 공급자는 어떤 방식으로든 사이트 맵 정보를 저장할 수 있습니다. 추상 클래스를 SiteMapProvider 확장하는 한 클래스를 SiteMap 성공적으로 초기화할 수 있습니다.
에 대 한 기본 공급자는 SiteMap 클래스는를 XmlSiteMapProvider Web.sitemap XML 구성 파일을 사용 하 여 작동 하는 클래스입니다. 그러나 작성할 수 있습니다 고유한 SiteMapProvider 개체를 사용 하 여 사이트에 대 한 사이트 맵 초기화 합니다. 사용자 지정 사이트 맵 공급자의 예제를 참조 하세요. SiteMapProvider합니다.
기본 사이트 맵 구성은 관리 하는 사이트 탐색 구성 지정 됩니다. 사이트 맵 공급자를 작성 하도록 선택한 경우 Web.config 파일에서이 구성을 재정의할 수 있습니다.
SiteMap 클래스는 성능에 대 한 정적 멤버를 제공 하 고 Web Form 또는 웹 서버 컨트롤에서 지정된 된 사이트에서 언제 든 지 액세스할 수 있습니다.
속성
CurrentNode |
현재 요청된 페이지를 나타내는 SiteMapNode 컨트롤을 가져옵니다. |
Enabled |
사이트 맵 공급자가 Web.config 파일에 지정되어 있으며 사이트 맵 공급자가 설정되어 있는지 여부를 나타내는 부울 값을 가져옵니다. |
Provider |
현재 사이트 맵에 대한 기본 SiteMapProvider 개체를 가져옵니다. |
Providers |
SiteMapProvider 클래스에 사용할 수 있는 명명된 SiteMap 개체의 읽기 전용 컬렉션을 가져옵니다. |
RootNode |
사이트 탐색 구조의 최상위 페이지를 나타내는 SiteMapNode 개체를 가져옵니다. |
이벤트
SiteMapResolve |
CurrentNode 속성에 액세스할 때 발생합니다. |
적용 대상
추가 정보
.NET