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 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.