articles

SiteMapDataSource Control in ASP.Net

SiteMapDataSource Control in ASP.Net

Pushpendra Singh 15116 04-Nov-2010

The SiteMapDataSource control enables you to declaratively data-bind to site navigation data in your pages. The SiteMapDataSource control is used as a data source to place a site map on the website. A site map is a way to present all folders and pages of the website. The site map information can appear in many forms. SiteMapDataSource control is used generally as a data source for asp: SiteMapPath control.

Some Important Properties of SiteMapDataSource Control:

Sitemap Provider

Gets or sets the name of the site map provider. This information is written on web.config file.

StartingUrlNode

Used to set the URL in the sitemap that will be considered as root.

ShowStartingNode

True/false. Whether to show starting node or not.

 Sitemap.master

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SiteMapDataSource1">
</asp:Repeater>
   
<asp:SiteMapDataSource StartingNodeUrl="~/home.aspx" ID="SiteMapDataSource1" runat="server" />
<asp:SiteMapPath ID="SiteMapPath1" runat="server"/>

 Here StartingNodeUrl is "~/home.aspx" site map Node will be started from Home

SiteMapDataSource Control in ASP.Net

 Web.sitemap

<siteMap xmlns="net" >
  <siteMapNode url="home.aspx"title="Home"  description="Home">
   <siteMapNode url="database.aspx"title="Database"  description="Database">
     <siteMapNode url="sqlserver.aspx"title="SqlServer"description="Sql"/>
     <siteMapNode url="mysql.aspx"title="My Sql"  description="My Sql" />
    </siteMapNode>
 
    <siteMapNode url="script.aspx"title="Scripting Language"  description="Scripting Language" >
      <siteMapNode url="javascript.aspx"title="java script"  description="Java script" />
      <siteMapNode url="vbscript.aspx"title="vb script"  description="1" />
      </siteMapNode>
 </siteMapNode>
</siteMap>

 Here home.aspx is the parent node of database.aspx and script.aspx. sqlserver.aspx & mysql.aspxare child node of database.aspx. javascript.aspx and vbscript.aspx are the child node of script.aspx

Home.aspx

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/database.aspx">Database</asp:HyperLink>
<asp:HyperLink ID="HyperLink4" runat="server" NavigateUrl="~/script.aspx">Scripting language</asp:HyperLink>

When add Database.aspx Script.aspx page then select sitemap.master

Database.aspx

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/sqlserver.aspx">SqlServer</asp:HyperLink>
 <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/mysql.aspx">MySql</asp:HyperLink>

 Script.aspx

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/javascript.aspx">Java Script</asp:HyperLink>
<asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="~/vbscript.aspx">VB Script</asp:HyperLink>

 Run the project

Now site map path will show on the page

SiteMapDataSource Control in ASP.Net

SiteMapDataSource Control in ASP.Net


Updated 17-Jan-2020

Leave Comment

Comments

Liked By