SiteMapDataSource.SiteMapProvider Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the name of the site map provider that the data source binds to.

Namespace:   System.Web.UI.WebControls
Assembly:  System.Web (in System.Web.dll)

public virtual string SiteMapProvider { get; set; }

Property Value

Type: System.String

The name of the site map provider that the SiteMapDataSource binds to. By default, the value is Empty, and the default site map provider for the site is used.

The value of the SiteMapProvider property is stored in view state.

The following code example demonstrates how to declaratively bind a TreeView control to site map data that is provided by an SiteMapProvider object other than the default provider. The Web.config file makes a custom SiteMapProvider object available to the SiteMapDataSource control:

      <add name="AsciiTextProvider"
        description="SiteMap provider which reads in .sitemap text files."

The code for the SimpleTextSiteMapProvider class that this Web.config file example references can be found in the SiteMapProvider class overview. If you use the Visual Basic example, the namespace ends in "VB" instead of "CS". You can also find sample content for the "text.txt" site map file in the SiteMapProvider class overview.


The AsciiTextProvider is not the default provider for the site, which (in this case) remains the XmlSiteMapProvider object. The SiteMapProvider property of the SiteMapDataSource control is set to the name of a custom site map provider, and the TreeView binds to the corresponding site map data.

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">

<html xmlns="" >
    <head runat="server">
    <title>ASP.NET Example</title>
        <form id="form1" runat="server">
                SiteMapProvider="AsciiTextProvider" />



.NET Framework
Available since 2.0
Return to top