Partage via


SiteMap.Providers Propriété

Définition

Obtient une collection en lecture seule d’objets nommés SiteMapProvider disponibles pour la SiteMap classe.

public:
 static property System::Web::SiteMapProviderCollection ^ Providers { System::Web::SiteMapProviderCollection ^ get(); };
public static System.Web.SiteMapProviderCollection Providers { get; }
static member Providers : System.Web.SiteMapProviderCollection
Public Shared ReadOnly Property Providers As SiteMapProviderCollection

Valeur de propriété

D’objets SiteMapProviderCollection nommés SiteMapProvider .

Exceptions

La fonctionnalité de carte de site n’est pas activée.

Le fournisseur par défaut spécifié dans la configuration n’existe pas.

La fonctionnalité est prise en charge uniquement lors de l’exécution en faible confiance ou ultérieure.

Exemples

L’exemple de code suivant montre comment récupérer la Providers collection à partir de la SiteMap classe, puis effectuer une itération à travers celle-ci.

<%@ 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>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
Private Sub Page_Load(Sender As Object, E As EventArgs)

    ' 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>")

    Dim sitemapnode As SiteMapNode
    For Each sitemapnode In SiteMap.RootNode.ChildNodes
        ' Iterate through the ChildNodes SiteMapNodesCollection
        ' maintained by the RootNode.
        Response.Write(sitemapnode.Url & "<BR>" )
    Next

    Dim providers As IDictionaryEnumerator = SiteMap.Providers.GetEnumerator()
    While (providers.MoveNext())
        Response.Write(providers.Current)
        Response.Write("   ")
        Response.Write("<BR>")
    End While
End Sub ' Page_Load

</SCRIPT>

Si vous avez plus que le fournisseur par défaut configuré pour votre site, vous verrez que chaque fournisseur s’affiche. Par exemple, si vous utilisez l’exemple de fournisseur Microsoft Access (voir StaticSiteMapProvider), vous voyez la sortie suivante :

XmlSiteMapProvider   System.Web.XmlSiteMapProvider
AccessSiteMapProvider   Samples.AspNet.AccessSiteMapProvider

Remarques

Les fournisseurs de carte de site répertoriés dans la Providers collection sont ceux spécifiés dans la hiérarchie de configuration pour initialiser la SiteMap classe. Seul le fournisseur par défaut (identifié par la Provider propriété) est garanti être utilisé par l’initialisation SiteMap pendant l’initialisation ; la présence d’un fournisseur dans la Providers collection signifie qu’il a été spécifié dans la configuration et qu’il était disponible pendant l’initialisation.

S’applique à

Voir aussi