SiteMapDataSource representd a Site Map declaratively in a page : SiteMapDataSource « Development « ASP.NET Tutorial






You can bind navigation controls such as the TreeView and Menu controls to a SiteMapDataSource control. 
You can bind GridView or DropDownList control to a SiteMapDataSource control.

File: Web.sitemap

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode
  url="Default.aspx"
  title="Home"
  description="The Home Page">
  <siteMapNode
    url="Default1.aspx"
    title="Our Products"
    description="Products that we offer">
    <siteMapNode
      url="FirstProduct.aspx"
      title="First Product"
      description="The description of the First Product" />
    <siteMapNode
      url="SecondProduct.aspx"
      title="Second Product"
      description="The description of the Second Product" />
  </siteMapNode>
  <siteMapNode
    url="Default2.aspx"
    title="Our Services"
    description="Services that we offer">
    <siteMapNode
      url="FirstService.aspx"
      title="First Service"
      description="The description of the First Service"
      metaDescription="The first service" />
    <siteMapNode
      url="SecondService.aspx"
      title="Second Service"
      description="The description of the Second Service" />
  </siteMapNode>
</siteMapNode>
</siteMap>


The Site Map file represents a website with the following folder and page structure:

Default.aspx
Products
    FirstProduct.aspx
    SecondProduct.aspx
Services
    FirstService.aspx
    SecondService.aspx


File: Default.aspx

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Home</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

    <asp:SiteMapPath
        id="SiteMapPath1"
        Runat="server" />

    <hr />

    <asp:TreeView
        id="TreeView1"
        DataSourceID="srcSiteMap"
        Runat="server"  />

    <asp:SiteMapDataSource
        id="srcSiteMap"
        Runat="server" />

    </div>
    </form>
</body>
</html>








9.41.SiteMapDataSource
9.41.1.SiteMapDataSource representd a Site Map declaratively in a page
9.41.2.Setting SiteMapDataSource Properties
9.41.3.Hiding the starting node.