From http://www.w3schools.com (Copyright Refsnes Data)

ASP.NET 2.0 - Navigation

previous next

ASP.NET 2.0 has built-in navigation controls


Web Site Navigation

Maintaining the menu of a large web site is difficult and time consuming.

In ASP.NET 2.0 the menu can be stored in a file to make it easier to maintain. This file is normally called web.sitemap, and is stored in the root directory of the web.

In addition, ASP.NET 2.0 has three new navigation controls:


The Sitemap File

The following sitemap file is used in this tutorial:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Home" url="/aspnet/w3home.aspx">
  <siteMapNode title="Services" url="/aspnet/w3services.aspx">
    <siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

Rules for creating a sitemap file:

lamp Note: The sitemap file must be placed in the root directory of the web and the URL attributes must be relative to the root directory.


Dynamic Menu

The <asp:Menu> control displays a standard site navigation menu.

Code Example:

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

The <asp:Menu> control in the example above is a placeholder for a server created navigation menu.

The data source of the control is defined by the DataSourceId attribute. The id="nav1" connects it to the  <asp:SiteMapDataSource> control.

The <asp:SiteMapDataSource> control automatically connects to the default sitemap file (web.sitemap).

Click here to see a demo of Menu, TreeView, and SiteMapPath


TreeView

The <asp:TreeView> control displays a multi level navigation menu.

The menu looks like a tree with branches that can be opened or closed with + or - symbol.

Code Example:

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

The <asp:TreeView> control in the example above is a placeholder for a server created navigation menu.

The data source of the control is defined by the DataSourceId attribute. The id="nav1" connects it to the  <asp:SiteMapDataSource> control.

The <asp:SiteMapDataSource> control automatically connects to the default sitemap file (web.sitemap).

Click here to see a demo of Menu, TreeView, and SiteMapPath


SiteMapPath

The SiteMapPath control displays the trail (navigation path) to the current page. The path acts as clickable links to previous pages.

Unlike the TreeView and Menu control the SiteMapPath control does NOT use a SiteMapDataSource. The SiteMapPath control uses the web.sitemap file by default.

lamp Tips: If the SiteMapPath displays incorrectly, most likely there is an URL error (typo) in the web.sitemap file.

Code Example:

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

The <asp:SiteMapPath> control in the example above is a placeholder for a server created site path display.

Click here to see a demo of Menu, TreeView, and SiteMapPath


previous next

From http://www.w3schools.com (Copyright Refsnes Data)