Partager via


SiteMap.Providers Propriété

Définition

Obtient une collection en lecture seule d'objets SiteMapProvider nommés à la disposition de la classe SiteMap.

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é

SiteMapProviderCollection d'objets SiteMapProvider nommés.

Exceptions

La fonction de plan de site n'est pas activée.

Le fournisseur par défaut spécifié dans la configuration est introuvable.

La fonctionnalité est prise en charge uniquement lors de l'exécution en mode Confiance basse ou dans un mode supérieur.

Exemples

L’exemple de code suivant montre comment récupérer la Providers collection à partir de la SiteMap classe , puis l’itérer au sein de 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 chaque fournisseur affiché. Par exemple, si vous utilisez l’exemple Microsoft fournisseur d’accès (voir StaticSiteMapProvider), vous voyez la sortie suivante :

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

Remarques

Les fournisseurs de plan de site répertoriés dans la Providers collection sont ceux qui sont 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 pour être utilisé par pendant l’initialisation SiteMap ; 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