SiteMap.Providers Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.