ASP.NET 2.0 - 탐색 (Navigation)

ASP.NET 2.0는 내장 탐색 컨트롤을 가집니다.

사이트 탐색

대형 사이트의 탐색 메뉴 유지보수는 어렵고 시간이 많이 걸립니다.

ASP.NET 2.0에서 메뉴는 파일에 저장될 수 있어 유지보수가 더 편리합니다. 이 파일은 일반적으로 다음과 같은 이름으로命名됩니다: web.sitemap웹 사이트의 루트 디렉토리에 저장됩니다.

또한, ASP.NET 2.0는 세 가지 새로운 탐색 컨트롤을 가집니다:

  • 다이나믹 메뉴
  • TreeViews
  • 사이트 맵 경로

Sitemap 파일

이 튜토리얼은 다음 sitemap 파일을 사용합니다. (사이트 맵):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="홈" url="/aspnet/w3home.aspx">
  <siteMapNode title="서비스" url="/aspnet/w3services.aspx">
    <siteMapNode title="훈련" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="지원" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

sitemap 파일 생성 규칙:

  • XML 파일은 내용을 둘러싸는 <siteMap> 태그를 포함해야 합니다.
  • <siteMap> 태그는 하나의 <siteMapNode> 자식 노드만 가져올 수 있습니다. ("홈" 페이지)
  • 각 <siteMapNode>는 여러个子 노드 (웹 페이지)를 가질 수 있습니다.
  • 각 <siteMapNode>는 페이지 제목과 URL을 정의하는 속성을 가집니다.

주의사항:sitemap 파일은 사이트의 루트 디렉토리에 저장되어 있어야 하며, URL 속성은 해당 루트 디렉토리에 상대적이어야 합니다.

다이나믹 메뉴

<asp:Menu> 컨트롤은 표준 사이트 탐색 메뉴를 표시할 수 있습니다.

코드 예제:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

위의 예시에서 <asp:Menu> 컨트롤서버가 탐색 메뉴를 생성하기 위한 대체자입니다。

컨트롤의 데이터 소스는 DataSourceId 속성정의합니다。id="nav1" 그것을 연결하세요 <asp:SiteMapDataSource> 컨트롤

<asp:SiteMapDataSource> 컨트롤기본적인 sitemap 파일에 자동으로 연결됩니다(web.sitemap)

Menu의 DEMO를 확인하려면 여기를 클릭하세요

TreeView

<asp:TreeView> 컨트롤은 다중 단계 탐색 메뉴를 표시할 수 있습니다.

이런 메뉴는 가지와 잎이 있는 나무처럼 보이며, + 또는 - 기호를 사용하여 열거하거나 닫을 수 있습니다.

코드 예제:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

위 예제에서 <asp:TreeView> 컨트롤서버가 탐색 메뉴를 생성하기 위한 대체자입니다。

컨트롤의 데이터 소스는 DataSourceId 속성정의합니다。id="nav1" 그것을 연결하세요 <asp:SiteMapDataSource> 컨트롤

<asp:SiteMapDataSource> 컨트롤기본적인 sitemap 파일에 자동으로 연결됩니다(web.sitemap)

TreeView의 DEMO를 확인하려면 여기를 클릭하세요

SiteMapPath

SiteMapPath 컨트롤은 현재 페이지로 가는 가리키는 포인터(탐색 경로)를 표시할 수 있습니다. 이 경로는 상위 페이지로 가는 클릭 가능한 링크로 표시됩니다.

TreeView 및 Menu 컨트롤과 달리, SiteMapPath 컨트롤사용하지 않음 SiteMapDataSource. SiteMapPath 컨트롤은 기본적으로 web.sitemap 파일을 사용합니다.

ヒント:SiteMapPath가 올바르게 표시되지 않으면, web.sitemap 파일에 URL 오류가 있을 가능성이 높습니다.

코드 예제:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

위 예제에서 <asp:SiteMapPath> 컨트롤서버가 탐색 메뉴를 생성하기 위한 대체자입니다。

SiteMapPath의 DEMO를 확인하려면 여기를 클릭하세요