Cette documentation est archivée et n’est pas conservée.

SiteMapProviderCollection, classe

Mise à jour : novembre 2007

Utilisé par la classe SiteMap pour suivre le jeu d'objets SiteMapProvider disponibles au SiteMap pendant l'initialisation du plan de site. Cette classe ne peut pas être héritée.

Espace de noms :  System.Web
Assembly :  System.Web (dans System.Web.dll)

[AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class SiteMapProviderCollection : ProviderCollection
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal) */
/** @attribute AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal) */
public final class SiteMapProviderCollection extends ProviderCollection
public final class SiteMapProviderCollection extends ProviderCollection

La classe SiteMapProviderCollection est une collection Hashtable fortement typée d'objets SiteMapProvider. En plus des deux méthodes d'ajout, Add(ProviderBase) et Add(SiteMapProvider), la classe SiteMapProviderCollection prend en charge la méthode AddArray pour ajouter un tableau de type SiteMapProvider.

Le SiteMapProviderCollection est utilisé par la classe SiteMap pour suivre le jeu d'objets SiteMapProvider disponibles au SiteMap pendant l'initialisation du plan de site. Toutefois, la présence d'un SiteMapProvider dans la collection de fournisseurs ne signifie pas nécessairement qu'il est utilisé par un objet SiteMap, mais uniquement s'il est disponible.

Lorsqu'un SiteMapProvider est stocké dans le SiteMapProviderCollection, la propriété Name est utilisée en tant que clé.

L'exemple de code suivant montre comment récupérer l'objet SiteMapProviderCollection dans l'objet SiteMap et comment le parcourir.

Si la configuration de votre site présente des fournisseurs autres que le seul fournisseur par défaut, les différents fournisseurs impliqués s'affichent. Par exemple, si vous utilisez l'exemple AccessSiteMapProvider disponible dans la vue d'ensemble de la classe SiteMapProvider, la sortie suivante s'affiche :

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>


Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

.NET Framework

Pris en charge dans : 3.5, 3.0, 2.0
Afficher: