Export (0) Print
Expand All

SiteMapProviderCollection Class

Note: This class is new in the .NET Framework version 2.0.

Used by the SiteMap class to track the set of SiteMapProvider objects that are available to the SiteMap during site map initialization. This class cannot be inherited.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

public sealed class SiteMapProviderCollection : ProviderCollection
public final class SiteMapProviderCollection extends ProviderCollection
public final class SiteMapProviderCollection extends ProviderCollection

The SiteMapProviderCollection class is a strongly typed Hashtable collection of SiteMapProvider objects. In addition to the two add methods, Add(ProviderBase) and Add(SiteMapProvider), the SiteMapProviderCollection class supports the AddArray method to add an array of type SiteMapProvider.

The SiteMapProviderCollection is used by the SiteMap class to track the set of SiteMapProvider objects that are available to the SiteMap during site map initialization. However, the presence of a SiteMapProvider in the provider collection does not necessarily mean it is used by a SiteMap object, only that it is available for use.

When a SiteMapProvider is stored in the SiteMapProviderCollection, the Name property is used as the key.

The following code example demonstrates how to retrieve the SiteMapProviderCollection object from the SiteMap object and iterate through it.

If you have more than just the default provider configured for your site, you will see each provider that is displayed. For example, if you are using the sample AccessSiteMapProvider found in the SiteMapProvider class overview, you will see the following output.

XmlSiteMapProvider   System.Web.XmlSiteMapProvider
AccessSiteMapProvider   Samples.AspNet.Controls.AccessSiteMapProvider
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() + "<BR>");

    Response.Write(SiteMap.RootNode.Url + "<BR>");
    Response.Write(SiteMap.RootNode.Title + "<BR>");

    foreach (SiteMapNode sitemapnode in SiteMap.RootNode.ChildNodes)
    {
        // Iterate through the ChildNodes SiteMapNodesCollection
        // maintained by the RootNode.
        Response.Write(sitemapnode.Url + "<BR>" );
    }

    IEnumerator providers = SiteMap.Providers.GetEnumerator();
    while (providers.MoveNext())
    {
        Response.Write(providers.Current);
        Response.Write("&nbsp;&nbsp;&nbsp;");
        Response.Write("<BR>");
    }
}
</SCRIPT>

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show:
© 2014 Microsoft