Compartilhar via


SiteMapProviderCollection Classe

Definição

Usado pela classe SiteMap para rastrear o conjunto de objetos SiteMapProvider disponíveis para o SiteMap durante a inicialização do mapa de site. Essa classe não pode ser herdada.

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
Herança
SiteMapProviderCollection

Exemplos

O exemplo de código a seguir demonstra como recuperar o SiteMapProviderCollection objeto do SiteMap objeto e iterar por meio dele.

Se você tiver mais do que apenas o provedor padrão configurado para seu site, verá cada provedor exibido. Por exemplo, se você estiver usando o exemplo AccessSiteMapProvider encontrado na visão geral da SiteMapProvider classe, verá a saída a seguir.

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>

Comentários

A SiteMapProviderCollection classe é uma coleção fortemente tipada Hashtable de SiteMapProvider objetos. Além dos dois métodos add e Add(ProviderBase)Add(SiteMapProvider), a SiteMapProviderCollection classe dá suporte ao AddArray método para adicionar uma matriz do tipo SiteMapProvider.

O SiteMapProviderCollection é usado pela SiteMap classe para acompanhar o conjunto de SiteMapProvider objetos que estão disponíveis para o durante a inicialização do SiteMap mapa do site. No entanto, a presença de um SiteMapProvider na coleção de provedores não significa necessariamente que ele é usado por um SiteMap objeto, apenas que ele está disponível para uso.

Quando um SiteMapProvider é armazenado no SiteMapProviderCollection, a Name propriedade é usada como a chave.

Construtores

SiteMapProviderCollection()

Inicializa uma nova instância da classe SiteMapProviderCollection.

Propriedades

Count

Obtém o número de provedores na coleção.

(Herdado de ProviderCollection)
IsSynchronized

Obtém um valor que indica se o acesso à coleção é sincronizado (thread-safe).

(Herdado de ProviderCollection)
Item[String]

Obtém um objeto SiteMapProvider com um nome específico da coleção de provedores.

SyncRoot

Obtém o objeto atual.

(Herdado de ProviderCollection)

Métodos

Add(ProviderBase)

Adiciona um SiteMapProvider à coleção de provedor usando a propriedade Name como a chave.

Add(SiteMapProvider)

Adiciona um objeto SiteMapProvider à coleção de provedor usando a propriedade Name como a chave.

AddArray(SiteMapProvider[])

Adiciona uma matriz de objetos SiteMapProvider na coleção de provedores usando as propriedades Name como chaves.

Clear()

Remove todos os itens da coleção.

(Herdado de ProviderCollection)
CopyTo(ProviderBase[], Int32)

Copia os conteúdos da coleção para a matriz fornecida, começando no índice especificado.

(Herdado de ProviderCollection)
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetEnumerator()

Retorna um objeto que implementa a interface IEnumerator para iterar pela coleção.

(Herdado de ProviderCollection)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
Remove(String)

Remove um provedor da coleção.

(Herdado de ProviderCollection)
SetReadOnly()

Define a coleção como sendo somente leitura.

(Herdado de ProviderCollection)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Implantações explícitas de interface

ICollection.CopyTo(Array, Int32)

Copia os elementos do ProviderCollection para uma matriz, começando em um índice de matriz específico.

(Herdado de ProviderCollection)

Métodos de Extensão

Cast<TResult>(IEnumerable)

Converte os elementos de um IEnumerable para o tipo especificado.

OfType<TResult>(IEnumerable)

Filtra os elementos de um IEnumerable com base em um tipo especificado.

AsParallel(IEnumerable)

Habilita a paralelização de uma consulta.

AsQueryable(IEnumerable)

Converte um IEnumerable em um IQueryable.

Aplica-se a

Confira também