방법: 간단한 사이트 탐색 추가

업데이트: 2007년 11월

SiteMapPath, TreeView 또는 Menu 컨트롤을 사용하여 사용자가 웹 사이트를 일관성 있게 탐색하는 방법을 제공할 수 있습니다.

SiteMapPath 컨트롤은 현재 페이지 위치를 보여 주고 홈 페이지로 되돌아가는 경로를 링크로 표시하는 탐색 경로(breadcrumb 또는 eyebrow)를 표시합니다.

참고:

.aspx 페이지에 SiteMapPath 컨트롤이 포함되면 .aspx 페이지는 컨트롤에서 렌더링하도록 Web.sitemap 파일에 나열되어야 합니다.

웹 페이지에서 SiteMapPath 컨트롤은 사용자가 학습 페이지를 탐색 중인 경우 다음과 같이 표시합니다.

Home > Services > Training

TreeView 컨트롤은 사이트의 다른 페이지로 가기 위해 통과하는 트리 구조를 표시합니다. 자식 노드가 포함된 노드를 클릭하면 확장하거나 축소할 수 있습니다. 처음으로 렌더링을 수행하면 TreeView 컨트롤이 완전히 확장됩니다. 웹 페이지에서 TreeView 컨트롤은 다음과 같이 표시합니다.

- Home

   - Services

      + Training

Menu 컨트롤은 사이트의 다른 페이지로 가기 위해 통과하는 확장 가능한 메뉴를 표시합니다. 커서를 메뉴 항목 위로 이동하면 자식 노드가 포함된 노드가 확장됩니다. Menu 컨트롤에 사이트 맵을 표시하는 코드 예제는 방법: 비계층적 웹 서버 컨트롤에서 사이트 맵 데이터 표시를 참조하십시오.

이러한 사이트 탐색 컨트롤을 사용하려면 Web.sitemap 파일에 사용자의 웹 사이트에 대한 구조를 기술해야 합니다.

Web.sitemap 파일을 만들려면

  1. 웹 사이트의 루트 디렉터리에 Web.sitemap이라는 파일을 만듭니다.

  2. Web.sitemap 파일을 열고 다음 코드를 추가합니다.

    <?xml version="1.0" encoding="utf-8" ?>
    <siteMap>
      <siteMapNode title="Home" >
        <siteMapNode title="Services" >
          <siteMapNode title="Training" url="~/Training.aspx"/>
        </siteMapNode>
      </siteMapNode>
    </siteMap>
    
    참고:

    없는 URL을 나열하거나 중복된 URL을 나열하면 웹 응용 프로그램이 실패합니다. url 특성은 응용 프로그램 루트를 나타내는 "~/" 바로 가기로 시작할 수 있습니다. 자세한 내용은 ASP.NET 웹 사이트 경로를 참조하십시오.

    이 항목의 뒷부분에서는 Training.aspx 페이지를 만듭니다.

  3. 파일을 저장한 다음 닫습니다.

웹 페이지에 사이트 탐색을 추가하려면

  1. 웹 사이트의 루트 디렉터리에 Training.aspx라는 파일을 만듭니다.

  2. Training.aspx를 열고 다음 코드를 추가합니다.

    <%@ Page Language="VB" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script >
    
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head id="Head1" >
      <title>Simple Navigation Controls</title>
    </head>
    <body>
      <form id="form1" >
      <div>
    
      <h2>Using SiteMapPath</h2>
      <asp:SiteMapPath ID="SiteMapPath1" Runat="server">
      </asp:SiteMapPath>
    
    
      <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />
    
      <h2>Using TreeView</h2>
      <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1">
      </asp:TreeView>
    
      <h2>Using Menu</h2>
      <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1">
      </asp:Menu>
    
      <h2>Using a Horizontal Menu</h2>
      <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1"
        Orientation="Horizontal" 
        StaticDisplayLevels="2" >
      </asp:Menu>
    
      </div>
      </form>
    </body>
    </html>
    
    <%@ Page Language="C#" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script >
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head >
      <title>Simple Navigation Controls</title>
    </head>
    <body>
      <form id="form1" >
      <div>
    
      <h2>Using SiteMapPath</h2>
      <asp:SiteMapPath ID="SiteMapPath1" Runat="server">
      </asp:SiteMapPath>
    
    
      <asp:SiteMapDataSource ID="SiteMapDataSource1" Runat="server" />
    
      <h2>Using TreeView</h2>
      <asp:TreeView ID="TreeView1" Runat="Server" DataSourceID="SiteMapDataSource1">
      </asp:TreeView>
    
      <h2>Using Menu</h2>
      <asp:Menu ID="Menu2" Runat="server" DataSourceID="SiteMapDataSource1">
      </asp:Menu>
    
      <h2>Using a Horizontal Menu</h2>
      <asp:Menu ID="Menu1" Runat="server" DataSourceID="SiteMapDataSource1"
        Orientation="Horizontal" 
        StaticDisplayLevels="2" >
      </asp:Menu>
    
      </div>
      </form>
    </body>
    </html>
    
  3. 파일을 저장하고 닫은 다음 파일을 브라우저에서 보고 컨트롤이 웹 사이트의 탐색 구조를 어떻게 표시하는지 확인할 수 있습니다.

보안

특정 보안 역할의 멤버에게는 탐색 구조의 링크를 숨길 수 있습니다. 자세한 내용은 ASP.NET 사이트 맵 보안 트리밍을 참조하십시오.

참고 항목

작업

방법: SiteMapPath 웹 서버 컨트롤의 모양 사용자 지정

개념

TreeView 웹 서버 컨트롤의 모양과 느낌 사용자 지정

ASP.NET 사이트 맵 보안 트리밍

ASP.NET 사이트 탐색 보안

데이터 액세스 보안

참조

SiteMapPath

TreeView

Menu

기타 리소스

호스팅된 환경에서의 ASP.NET 응용 프로그램 보안