Defining a Site Map : Site Maps « Development « ASP.NET Tutorial






The XmlSiteMapProvider looks for a file named Web.sitemap in the root of the virtual directory. 
XmlSiteMapProvider extracts the site map data and create the corresponding SiteMap object. 
This SiteMap object is then made available to the SiteMapDataSource, which you place on every page that uses navigation. 

Rule 1: Site Maps Begin with the <siteMap> Element.

Every Web.sitemap file begins by declaring the <siteMap>. 

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
...
</siteMap>


Rule 2: Each Page Is Represented by a <siteMapNode> Element

To insert a page into the site map, you add the <siteMapNode> element.
You need to supply the title of the page, a description, and the URL. 

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0">
    <siteMapNode title="Home" description="Home" url="~/default.aspx" />
</siteMap>

The ~/ characters represent the root folder of your web application. 


Rule 3: A <siteMapNode> Element Can Contain Other <siteMapNode> Elements

<siteMapNode title="Home" description="Home" url="~/default.aspx">
    <siteMapNode title="Products" description="Our products" url="~/products.aspx" />
    <siteMapNode title="Hardware" description="Hardware choices" url="~/hardware.aspx" />
</siteMapNode>

You can omit the url attribute, as shown here with the Products node:

<siteMapNode title="Products" description="Products">
    <siteMapNode title="In Stock" description="Products that are available" url="~/inStock.aspx" />
    <siteMapNode title="Not In Stock" description="Products that are on order" url="~/outOfStock.aspx" />
</siteMapNode>

Rule 4: Every Site Map Begins with a Single <siteMapNode>

A site map must always have a single root node. 


Rule 5: Duplicate URLs Are Not Allowed








9.40.Site Maps
9.40.1.Defining a Site Map
9.40.2.The SiteMapPath control enables you to navigate to any parent page of the current page.
9.40.3.Format SiteMapPath
9.40.4.Using a template with the SiteMapPath control.
9.40.5.Using the SiteMap Class
9.40.6.Adding nodes to a Site Map dynamically.
9.40.7.Using the SiteMapNode Class
9.40.8.To display different links to different users depending on their roles, enable the Security Trimming
9.40.9.Merging Multiple Site Maps
9.40.10.Creating Custom Site Map Attributes
9.40.11.Creating the AutoSiteMapProvider
9.40.12.Displaying an automatically generated Site Map.
9.40.13.Removing the root node from the retrieved node collection
9.40.14.using the StartFromCurrentNode property
9.40.15.Using the StartingNodeUrl property
9.40.16.Working with the CurrentNode object (C#)
9.40.17.Working with the CurrentNode object (VB)
9.40.18.Creating a custom navigation display using the CurrentNode property (C#)
9.40.19.Creating a custom navigation display using the CurrentNode property (VB)