SiteMapProviderCollection Class
Assembly: System.Web (in system.web.dll)
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(" "); Response.Write("<BR>"); } } </SCRIPT>
- AspNetHostingPermission for operating in a hosted environment. Demand value: LinkDemand; Permission value: Minimal.
- AspNetHostingPermission for operating in a hosted environment. Demand value: InheritanceDemand; Permission value: Minimal.