Condividi tramite


SiteMapProviderCollection Classe

Definizione

Usata dalla classe SiteMap per tenere traccia di un insieme di oggetti SiteMapProvider disponibili per l'elemento SiteMap durante l'inizializzazione della mappa del sito. La classe non può essere ereditata.

public ref class SiteMapProviderCollection sealed : System::Configuration::Provider::ProviderCollection
public sealed class SiteMapProviderCollection : System.Configuration.Provider.ProviderCollection
type SiteMapProviderCollection = class
    inherit ProviderCollection
Public NotInheritable Class SiteMapProviderCollection
Inherits ProviderCollection
Ereditarietà
SiteMapProviderCollection

Esempio

Nell'esempio di codice seguente viene illustrato come recuperare l'oggetto SiteMapProviderCollection dall'oggetto ed eseguire l'iterazione SiteMap .

Se il provider predefinito è configurato per il sito, verranno visualizzati tutti i provider visualizzati. Ad esempio, se si usa l'esempio AccessSiteMapProvider trovato nella panoramica della SiteMapProvider classe, verrà visualizzato l'output seguente.

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>
<%@ 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("&nbsp;&nbsp;&nbsp;")
        Response.Write("<BR>")
    End While
End Sub ' Page_Load

</SCRIPT>

Commenti

La SiteMapProviderCollection classe è una raccolta fortemente tipizzata Hashtable di SiteMapProvider oggetti. Oltre ai due metodi add e Add(ProviderBase)Add(SiteMapProvider), la SiteMapProviderCollection classe supporta il AddArray metodo per aggiungere una matrice di tipo SiteMapProvider.

Viene SiteMapProviderCollection utilizzato dalla SiteMap classe per tenere traccia del set di SiteMapProvider oggetti disponibili per l'oggetto durante l'inizializzazione SiteMap della mappa del sito. Tuttavia, la presenza di un SiteMapProvider oggetto nell'insieme provider non significa necessariamente che venga utilizzata da un SiteMap oggetto, ma solo che sia disponibile per l'uso.

Quando un oggetto SiteMapProvider viene archiviato in SiteMapProviderCollection, la Name proprietà viene utilizzata come chiave.

Costruttori

SiteMapProviderCollection()

Inizializza una nuova istanza della classe SiteMapProviderCollection.

Proprietà

Count

Ottiene il numero di provider presenti nell'insieme.

(Ereditato da ProviderCollection)
IsSynchronized

Ottiene un valore che indica se l'accesso alla raccolta è sincronizzato (thread-safe).

(Ereditato da ProviderCollection)
Item[String]

Ottiene un oggetto SiteMapProvider con un nome specifico dalla raccolta di provider.

SyncRoot

Ottiene l'oggetto corrente.

(Ereditato da ProviderCollection)

Metodi

Add(ProviderBase)

Aggiunge un elemento SiteMapProvider alla raccolta di provider usando la proprietà Name come chiave.

Add(SiteMapProvider)

Aggiunge un oggetto SiteMapProvider alla raccolta di provider usando la proprietà Name come chiave.

AddArray(SiteMapProvider[])

Aggiunge una matrice di oggetti SiteMapProvider alla raccolta di provider usando le proprietà Name come chiavi.

Clear()

Rimuove tutti gli elementi dalla raccolta.

(Ereditato da ProviderCollection)
CopyTo(ProviderBase[], Int32)

Copia il contenuto dell'insieme nella matrice indicata a partire dall'indice specificato.

(Ereditato da ProviderCollection)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetEnumerator()

Restituisce un oggetto che implementa l'interfaccia IEnumerator per scorrere l'insieme.

(Ereditato da ProviderCollection)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
Remove(String)

Rimuove un provider dall'insieme.

(Ereditato da ProviderCollection)
SetReadOnly()

Imposta l'insieme come oggetto in sola lettura.

(Ereditato da ProviderCollection)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Implementazioni dell'interfaccia esplicita

ICollection.CopyTo(Array, Int32)

Copia gli elementi dell'oggetto ProviderCollection in una matrice, iniziando in corrispondenza di un particolare indice di matrice.

(Ereditato da ProviderCollection)

Metodi di estensione

Cast<TResult>(IEnumerable)

Esegue il cast degli elementi di un oggetto IEnumerable nel tipo specificato.

OfType<TResult>(IEnumerable)

Filtra gli elementi di un oggetto IEnumerable in base a un tipo specificato.

AsParallel(IEnumerable)

Consente la parallelizzazione di una query.

AsQueryable(IEnumerable)

Converte un oggetto IEnumerable in un oggetto IQueryable.

Si applica a

Vedi anche