방법: ASP.NET 사이트 맵 공급자 구현

업데이트: 2007년 11월

이 항목에서는 ASP.NET 사이트 맵 공급자를 만들고 ASP.NET 응용 프로그램에서 사이트 맵 공급자를 사용하도록 구성하는 방법을 설명합니다.

다음 표에서는 Visual Basic 및 C#으로 작성된 두 개의 예제 사이트 맵 공급자에 대한 코드가 들어 있는 부록 항목을 보여 줍니다. 예제 공급자 중 하나에서는 .NET Framework Data Provider for ODBC를 사용하여 ODBC 데이터 소스에 연결합니다. 다른 예제에서는 Microsoft Access 데이터베이스를 데이터 소스로 사용합니다.

텍스트 사이트 맵 공급자 예제

텍스트 기반의 사이트 맵 공급자 전체를 보여 줍니다.

Access 사이트 맵 공급자 예제

Access 기반의 사이트 맵 공급자 전체를 보여 줍니다.

사이트 맵 공급자를 빌드하려면

  • 소스 코드를 응용 프로그램의 App_Code 디렉터리에 배치합니다.

    참고:

    응용 프로그램의 App_Code 디렉터리에 소스 코드가 이미 있으면 디렉터리의 기존 코드와 동일한 언어로 작성된 사이트 맵 공급자 버전을 추가해야 합니다.

    이 공급자는 해당 응용 프로그램이 필요할 때 ASP.NET에서 컴파일됩니다. 자세한 내용은 ASP.NET 웹 사이트의 공유 코드 폴더를 참조하십시오.

    -- 또는 --

    사이트 맵 공급자를 라이브러리로 컴파일한 다음 웹 응용 프로그램의 Bin 디렉터리에 배치하거나, 강력한 이름으로 지정한 다음 GAC(전역 어셈블리 캐시)에 배치합니다. 예를 들어, 다음 명령에서는 명령줄 컴파일러를 사용하여 예제 사이트 맵 공급자를 컴파일하는 방법을 보여 줍니다.

    vbc /out:<example_name>.dll /t:library <example_name>.vb /r:System.Web.dll /r:System.Configuration.dll
    
    csc /out:<example_name>.dll /t:library <example_name>.cs /r:System.Web.dll /r:System.Configuration.dll
    

ASP.NET 응용 프로그램에서 사이트 맵 공급자를 사용하려면

  1. Web.config 파일에 사이트 맵 공급자를 추가하여 웹 응용 프로그램에서 해당 공급자를 사용하도록 구성합니다.

  2. 사이트 맵 공급자를 사용하는 컨트롤을 추가합니다. Web.config 파일을 변경하고 공급자를 컴파일하고 나면 공급자가 탐색 데이터를 메모리에 있는 SiteMap 클래스의 인스턴스로 로드합니다. 이제 SiteMapPath, TreeViewMenu 컨트롤 같은 사이트 맵 인프라의 구성 요소에서 탐색 데이터를 사용하여 사용자에게 사이트 맵 정보를 표시할 수 있습니다. 다음 예제 코드에서는 ASP.NET 페이지에 이 세 개의 컨트롤을 모두 사용합니다.

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

참고 항목

개념

ASP.NET 사이트 맵 공급자 구현

ASP.NET 사이트 탐색 개요

ASP.NET 사이트 탐색 보안

데이터 액세스 보안

기타 리소스

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