StaticSiteMapProvider Classe

Definição

Serve como uma implementação parcial da classe abstrata SiteMapProvider e serve como uma classe base para a classe XmlSiteMapProvider, que é o provedor padrão de mapa do site no ASP.NET.

public ref class StaticSiteMapProvider abstract : System::Web::SiteMapProvider
public abstract class StaticSiteMapProvider : System.Web.SiteMapProvider
type StaticSiteMapProvider = class
    inherit SiteMapProvider
Public MustInherit Class StaticSiteMapProvider
Inherits SiteMapProvider
Herança
StaticSiteMapProvider
Derivado

Exemplos

O exemplo de código a seguir demonstra como estender a classe para usar o StaticSiteMapProvider Microsoft Access como um provedor de mapa de site. A AccessSiteMapProvider classe é um provedor de mapa de site que dá suporte apenas a uma hierarquia simples de um nível de profundidade. A tabela na qual os dados do mapa do site são armazenados tem a seguinte estrutura:

NODEID URL            NAME       PARENTNODEID  
 ---------------------------------------------  
 1      default.aspx   Default    <NULL>  
 2      catalog.aspx   Catalog    1  
 3      aboutus.aspx   Contact Us 1  
...  

A AccessSiteMapProvider classe é derivada da StaticSiteMapProvider classe e recupera suas informações de um banco de dados do Microsoft Access usando consultas SQL básicas e os OleDbCommand objetos e OleDbDataReader .

#using <System.Data.dll>
#using <System.Transactions.dll>
#using <System.EnterpriseServices.dll>
#using <System.dll>
#using <System.Web.dll>
#using <System.Configuration.dll>

using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
using namespace System::Configuration;
using namespace System::Data;
using namespace System::Data::OleDb;
using namespace System::Security::Permissions;
using namespace System::Web;

/// An extremely simple AccessSiteMapProvider that only supports a
/// site map node hierarchy 1 level deep.

[AspNetHostingPermission(SecurityAction::Demand,Level=AspNetHostingPermissionLevel::Minimal)]
public ref class AccessSiteMapProvider: public StaticSiteMapProvider
{
private:
   SiteMapNode ^ rootNode;
   OleDbConnection^ accessConnection;

   // This string is case sensitive.
   String^ AccessConnectionStringName;

public:
   // Implement a default constructor.
   AccessSiteMapProvider()
   {
      initialized = false;
      AccessConnectionStringName = "accessSiteMapConnectionString";
   }


private:

   // Some basic state to help track the initialization state of the provider.
   bool initialized;

public:

   property bool IsInitialized 
   {
      virtual bool get()
      {
         return initialized;
      }

   }

   property SiteMapNode ^ RootNode 
   {

      // Return the root node of the current site map.
      virtual SiteMapNode ^ get() override
      {
         SiteMapNode ^ temp = nullptr;
         temp = BuildSiteMap();
         return temp;
      }

   }

protected:

   virtual SiteMapNode ^ GetRootNodeCore() override
   {
      return RootNode;
   }


public:

   // Initialize is used to initialize the properties and any state that the
   // AccessProvider holds, but is not used to build the site map.
   // The site map is built when the BuildSiteMap method is called.
   virtual void Initialize( String^ name, NameValueCollection^ attributes ) override
   {
      if ( IsInitialized )
            return;

      StaticSiteMapProvider::Initialize( name, attributes );
      
      // Create and test the connection to the Microsoft Access database.
      // Retrieve the Value of the Access connection string from the
      // attributes NameValueCollection.
      String^ connectionString = attributes[ AccessConnectionStringName ];
      if ( nullptr == connectionString || connectionString->Length == 0 )
            throw gcnew Exception( "The connection string was not found." );
      else
            accessConnection = gcnew OleDbConnection( connectionString );

      initialized = true;
   }


protected:

   ///
   /// SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.
   ///
   // Clean up any collections or other state that an instance of this may hold.
   virtual void Clear() override
   {
      System::Threading::Monitor::Enter( this );
      try
      {
         rootNode = nullptr;
         StaticSiteMapProvider::Clear();
      }
      finally
      {
         System::Threading::Monitor::Exit( this );
      }

   }


public:

   // Build an in-memory representation from persistent
   // storage, and return the root node of the site map.
   virtual SiteMapNode ^ BuildSiteMap() override
   {
      // Since the SiteMap class is static, make sure that it is
      // not modified while the site map is built.
      System::Threading::Monitor::Enter( this );
      try
      {
         
         // If there is no initialization, this method is being
         // called out of order.
         if (  !IsInitialized )
         {
            throw gcnew Exception( "BuildSiteMap called incorrectly." );
         }
         
         // If there is no root node, then there is no site map.
         if ( nullptr == rootNode )
         {
            
            // Start with a clean slate
            Clear();
            
            // Select the root node of the site map from Microsoft Access.
            int rootNodeId = -1;
            if ( accessConnection->State == ConnectionState::Closed )
               accessConnection->Open();
            
            OleDbCommand^ rootNodeCommand = gcnew OleDbCommand
               ("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection);
            OleDbDataReader^ rootNodeReader = rootNodeCommand->ExecuteReader();
            if ( rootNodeReader->HasRows )
            {
               rootNodeReader->Read();
               rootNodeId = rootNodeReader->GetInt32( 0 );
               
               // Create a SiteMapNode that references the current StaticSiteMapProvider.
               rootNode = gcnew SiteMapNode(this, rootNodeId.ToString(), 
                  rootNodeReader->GetString( 1 ),rootNodeReader->GetString( 2 ));
            }
            else
               return nullptr;
            rootNodeReader->Close();
            
            // Select the child nodes of the root node.
            OleDbCommand^ childNodesCommand = gcnew OleDbCommand
               ("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid = ?", accessConnection);
            OleDbParameter^ rootParam = gcnew OleDbParameter( "parentid", OleDbType::Integer);
            rootParam->Value = rootNodeId;
            childNodesCommand->Parameters->Add( rootParam );
            OleDbDataReader^ childNodesReader = childNodesCommand->ExecuteReader();
            if ( childNodesReader->HasRows )
            {
               SiteMapNode ^ childNode = nullptr;
               while ( childNodesReader->Read() )
               {
                  childNode = gcnew SiteMapNode( this, 
                      System::Convert::ToString(childNodesReader->GetInt32( 0 )),
                     childNodesReader->GetString( 1 ),
                     childNodesReader->GetString( 2 ) 
                  );
                  // Use the SiteMapNode AddNode method to add
                  // the SiteMapNode to the ChildNodes collection.
                  AddNode( childNode, rootNode );
               }
            }
            childNodesReader->Close();
            accessConnection->Close();
         }
         return rootNode;
      }
      finally
      {
         System::Threading::Monitor::Exit( this );
      }

   }

};
namespace Samples.AspNet.CS.Controls {

    using System;
    using System.Collections;
    using System.Collections.Specialized;
    using System.Data;
    using System.Data.OleDb;
    using System.Security.Permissions;
    using System.Web;

    /// An extremely simple AccessSiteMapProvider that only supports a
    /// site map node hierarchy 1 level deep.
    [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
    public class AccessSiteMapProvider : StaticSiteMapProvider
    {
        private SiteMapNode rootNode =  null;
        private OleDbConnection accessConnection = null;

        // This string is case sensitive.
        private string AccessConnectionStringName = "accessSiteMapConnectionString";

        // Implement a default constructor.
        public AccessSiteMapProvider () { }

        // Some basic state to help track the initialization state of the provider.
        private bool initialized = false;
        public virtual bool IsInitialized {
            get {
                return initialized;
            }
        }
        // Return the root node of the current site map.
        public override SiteMapNode RootNode {
            get {
                SiteMapNode temp = null;
                temp = BuildSiteMap();
                return temp;
            }
        }
        protected override SiteMapNode GetRootNodeCore() {
            return RootNode;
        }
        // Initialize is used to initialize the properties and any state that the
        // AccessProvider holds, but is not used to build the site map.
        // The site map is built when the BuildSiteMap method is called.
        public override void Initialize(string name, NameValueCollection attributes) {
            if (IsInitialized)
                return;

            base.Initialize(name, attributes);

            // Create and test the connection to the Microsoft Access database.

            // Retrieve the Value of the Access connection string from the
            // attributes NameValueCollection.
            string connectionString = attributes[AccessConnectionStringName];

            if (null == connectionString || connectionString.Length == 0)
                throw new Exception ("The connection string was not found.");
            else
                accessConnection = new OleDbConnection(connectionString);

            initialized = true;
        }

        ///
        /// SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.
        ///
        // Clean up any collections or other state that an instance of this may hold.
        protected override void Clear() {
            lock (this) {
                rootNode = null;
                base.Clear();
            }
        }

        // Build an in-memory representation from persistent
        // storage, and return the root node of the site map.
        public override SiteMapNode BuildSiteMap() {

            // Since the SiteMap class is static, make sure that it is
            // not modified while the site map is built.
            lock(this) {

                // If there is no initialization, this method is being
                // called out of order.
                if (! IsInitialized) {
                    throw new Exception("BuildSiteMap called incorrectly.");
                }

                // If there is no root node, then there is no site map.
                if (null == rootNode) {
                    // Start with a clean slate
                    Clear();

                    // Select the root node of the site map from Microsoft Access.
                    int rootNodeId = -1;

                    if (accessConnection.State == ConnectionState.Closed)
                        accessConnection.Open();
                    OleDbCommand rootNodeCommand =
                        new OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL",
                                         accessConnection);
                    OleDbDataReader rootNodeReader = rootNodeCommand.ExecuteReader();

                    if(rootNodeReader.HasRows) {
                        rootNodeReader.Read();
                        rootNodeId = rootNodeReader.GetInt32(0);
                        // Create a SiteMapNode that references the current StaticSiteMapProvider.
                        rootNode   = new SiteMapNode(this,
                                                     rootNodeId.ToString(),
                                                     rootNodeReader.GetString(1),
                                                     rootNodeReader.GetString(2));
                    }
                    else
                    {
                        return null;
                    }

                    rootNodeReader.Close();
                    // Select the child nodes of the root node.
                    OleDbCommand childNodesCommand =
                        new OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid = ?",
                                         accessConnection);
                    OleDbParameter rootParam = new OleDbParameter("parentid", OleDbType.Integer);
                    rootParam.Value = rootNodeId;
                    childNodesCommand.Parameters.Add(rootParam);

                    OleDbDataReader childNodesReader = childNodesCommand.ExecuteReader();

                    if (childNodesReader.HasRows) {

                        SiteMapNode childNode = null;
                        while(childNodesReader.Read()) {
                            childNode =  new SiteMapNode(this,
                                                         childNodesReader.GetInt32(0).ToString(),
                                                         childNodesReader.GetString(1),
                                                         childNodesReader.GetString(2));

                            // Use the SiteMapNode AddNode method to add
                            // the SiteMapNode to the ChildNodes collection.
                            AddNode(childNode, rootNode);
                        }
                    }

                    childNodesReader.Close();
                    accessConnection.Close();
                }
                return rootNode;
            }
        }
    }
}
Imports System.Collections
Imports System.Collections.Specialized
Imports System.Data
Imports System.Data.OleDb
Imports System.Security.Permissions
Imports System.Web

Namespace Samples.AspNet.VB.Controls
 
    ' An extremely simple AccessSiteMapProvider that only supports a
    ' site map node hierarchy one level deep.
    <AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class AccessSiteMapProvider
        Inherits StaticSiteMapProvider

        Private aRootNode As SiteMapNode = Nothing
        Private accessConnection As OleDbConnection = Nothing

        ' This string is case sensitive.
        Private AccessConnectionStringName As String = "accessSiteMapConnectionString"

        ' Implement a default constructor.
        Public Sub New()
        End Sub

        ' Some basic state to help track the initialization state of the provider.
        Private initialized As Boolean = False

        Public Overridable ReadOnly Property IsInitialized() As Boolean
            Get
                Return initialized
            End Get
        End Property

        ' Return the root node of the current site map.
        Public Overrides ReadOnly Property RootNode() As SiteMapNode
            Get
                Return BuildSiteMap()
            End Get
        End Property

        Protected Overrides Function GetRootNodeCore() As SiteMapNode
            Return RootNode
        End Function

        ' Initialize is used to initialize the properties and any state that the
        ' AccessProvider holds, but is not used to build the site map.
        ' The site map is built when the BuildSiteMap method is called.
        Public Overrides Sub Initialize(ByVal name As String, ByVal attributes As NameValueCollection)
            If IsInitialized Then
                Return
            End If
            MyBase.Initialize(name, attributes)

            ' Create and test the connection to the Microsoft Access database.
            ' Retrieve the Value of the Access connection string from the
            ' attributes NameValueCollection.
            Dim connectionString As String = attributes(AccessConnectionStringName)

            If Nothing = connectionString OrElse connectionString.Length = 0 Then
                Throw New Exception("The connection string was not found.")
            Else
                accessConnection = New OleDbConnection(connectionString)
            End If
            initialized = True
        End Sub

        ' SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.
        '
        ' Clean up any collections or other state that an instance of this may hold.
        Protected Overrides Sub Clear()
            SyncLock Me
                aRootNode = Nothing
                MyBase.Clear()
            End SyncLock
        End Sub

        ' Build an in-memory representation from persistent
        ' storage, and return the root node of the site map.
        Public Overrides Function BuildSiteMap() As SiteMapNode

            ' Since the SiteMap class is static, make sure that it is
            ' not modified while the site map is built.
            SyncLock Me

                ' If there is no initialization, this method is being
                ' called out of order.
                If Not IsInitialized Then
                    Throw New Exception("BuildSiteMap called incorrectly.")
                End If

                ' If there is no root node, then there is no site map.
                If aRootNode Is Nothing Then
                    ' Start with a clean slate
                    Clear()

                    ' Select the root node of the site map from Microsoft Access.
                    Dim rootNodeId As Integer = -1

                    If accessConnection.State = ConnectionState.Closed Then
                        accessConnection.Open()
                    End If
                    Dim rootNodeCommand As New OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection)
                    Dim rootNodeReader As OleDbDataReader = rootNodeCommand.ExecuteReader()

                    If rootNodeReader.HasRows Then
                        rootNodeReader.Read()
                        rootNodeId = rootNodeReader.GetInt32(0)
                        ' Create a SiteMapNode that references the current StaticSiteMapProvider.
                        aRootNode = New SiteMapNode(Me, rootNodeId.ToString(), rootNodeReader.GetString(1), rootNodeReader.GetString(2))
                    Else
                        Return Nothing
                    End If
                    rootNodeReader.Close()
                    ' Select the child nodes of the root node.
                    Dim childNodesCommand As New OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid = ?", accessConnection)
                    Dim rootParam As New OleDbParameter("parentid", OleDbType.Integer)
                    rootParam.Value = rootNodeId
                    childNodesCommand.Parameters.Add(rootParam)

                    Dim childNodesReader As OleDbDataReader = childNodesCommand.ExecuteReader()

                    If childNodesReader.HasRows Then

                        Dim childNode As SiteMapNode = Nothing
                        While childNodesReader.Read()
                            childNode = New SiteMapNode(Me, _
                            childNodesReader.GetInt32(0).ToString(), _
                            childNodesReader.GetString(1), _
                            childNodesReader.GetString(2))

                            ' Use the SiteMapNode AddNode method to add
                            ' the SiteMapNode to the ChildNodes collection.
                            AddNode(childNode, aRootNode)
                        End While
                    End If

                    childNodesReader.Close()
                    accessConnection.Close()
                End If
                Return aRootNode
            End SyncLock

        End Function 'BuildSiteMap

    End Class

End Namespace

Por fim, o AccessSiteMapProvider é configurado como o provedor padrão no arquivo de Web.config a seguir.

<configuration>  
  <system.web>  
    <siteMap defaultProvider="AccessSiteMapProvider">  
     <providers>  
       <add   
         name="AccessSiteMapProvider"  
         type="Samples.AspNet.AccessSiteMapProvider,Samples.AspNet "  
         accessSiteMapConnectionString="PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=sitemap.mdb "/>  
     </providers>   
    </siteMap>  
  </system.web>  
</configuration>  

Comentários

A StaticSiteMapProvider classe é uma implementação parcial da classe abstrata SiteMapProvider e fornece dois métodos adicionais: AddNode e RemoveNode, bem como os métodos abstratos BuildSiteMap e protegidos Clear .

A StaticSiteMapProvider classe dá suporte à gravação de um provedor de mapa de site (por exemplo, um XmlSiteMapProvider) que converte um mapa de site armazenado no armazenamento persistente para um armazenado na memória. A StaticSiteMapProvider classe fornece implementações básicas para armazenar e recuperar SiteMapNode objetos.

As SiteMapProvider classes e StaticSiteMapProvider dão suporte ao conceito de uma hierarquia de provedor de mapa de site, em que um provedor de mapa de site pode ter uma relação hierárquica com outros provedores de mapa de site. Esse padrão é implementado com as RootProvider propriedades e ParentProvider .

A StaticSiteMapProvider classe armazena seus SiteMapNode objetos em tabelas de hash e usa internamente a SiteMapNode.Url propriedade das páginas, representada por nós de mapa do site, como chaves. (Se um nó de mapa do site não especificar uma URL, ele será rastreado usando uma chave exclusiva gerada automaticamente.) Como resultado, você não pode ter nós de mapa do site em que um nó de mapa do site com a mesma URL é usado mais de uma vez. Por exemplo, tentar carregar o nó do mapa do site ilustrado no exemplo de código a seguir com a XmlSiteMapProvider classe , que é o padrão ASP.NET provedor de mapa do site ou qualquer provedor de mapa de site derivado da StaticSiteMapProvider classe não funcionará porque a página AboutUs.aspx é usada mais de uma vez.

<sitemap>  
  <sitemapnode title="Home" description="Home" url="default.aspx" >  
    <sitemapnode title="Catalog" description="Our catalog" url="catalog.aspx"/>  
    <sitemapnode title="About Us" description="All about our company" url="aboutus.aspx"/>  
    <sitemapnode title="Driving Directions" description="Directions to our store" url="aboutus.aspx"/>  
  </sitemapnode>  
</sitemap>  

Se você estiver estendendo a StaticSiteMapProvider classe , os três métodos mais importantes serão os GetRootNodeCoremétodos , Initializee BuildSiteMap . Os métodos e FindSiteMapNode têm implementações padrão que são suficientes para a maioria das Clear implementações personalizadas do provedor de mapa de site.

O Initialize método é chamado para inicializar provedores de mapa de site derivados, incluindo todos os recursos necessários para carregar dados do mapa do site, mas tenta criar o nó do mapa do site na memória. Se a classe derivada estiver usando arquivos para armazenar dados do mapa do site, qualquer inicialização de arquivo poderá ser executada aqui. Se o nó do mapa do site usar algum outro tipo de armazenamento de dados, como um banco de dados relacional, a inicialização de uma conexão poderá ser executada aqui. Atributos adicionais, como nomes de arquivo ou cadeias de conexão que são colocados no elemento do provedor de mapa do site na configuração, são processados pelo sistema de configuração ASP.NET e passados para o Initialize método com o attributes parâmetro .

O BuildSiteMap método deve ser substituído por todas as classes derivadas da StaticSiteMapProvider classe e é chamado para carregar o nó do mapa do site do armazenamento persistente e convertê-lo em uma representação interna. O BuildSiteMap método é chamado internamente em muitas das implementações de membro padrão das StaticSiteMapProvider classes e XmlSiteMapProvider . Se você implementar seu próprio provedor de mapa de site, verifique se o processamento de dados do mapa do site ocorre uma vez e as chamadas subsequentes para o BuildSiteMap método retornam imediatamente, se as informações do mapa do site já tiverem sido carregadas. Ao implementar o BuildSiteMap método , verifique se ele é thread-safe, pois várias solicitações de página simultâneas podem resultar indiretamente em várias chamadas para carregar informações do mapa do site. A infraestrutura de mapa do site dá suporte à exibição de informações do mapa do site com base na função do usuário. Dependendo da Roles propriedade com suporte dos objetos individuais SiteMapNode , pode existir uma estrutura de navegação diferente para usuários diferentes. As implementações padrão dos membros de recuperação de nó do mapa do site da classe executam o StaticSiteMapProvider corte de segurança automaticamente chamando o IsAccessibleToUser método .

Os AddNodemétodos , Clear e RemoveNode manipulam as coleções internas que são usadas para rastrear nós de mapa do site de maneira thread-safe.

Notas aos Implementadores

Ao herdar da StaticSiteMapProvider classe , você deve substituir o seguinte membro: BuildSiteMap().

Construtores

StaticSiteMapProvider()

Inicializa uma nova instância da classe StaticSiteMapProvider.

Propriedades

CurrentNode

Obtém o objeto SiteMapNode que representa a página atualmente solicitada.

(Herdado de SiteMapProvider)
Description

Obtém uma breve descrição amigável adequada para exibição em ferramentas administrativas ou outras IUs (interfaces do usuário).

(Herdado de ProviderBase)
EnableLocalization

Obtém ou define um valor booliano que indica se os valores localizados dos atributos SiteMapNode são retornados.

(Herdado de SiteMapProvider)
Name

Obtém o nome amigável usado para referir-se ao provedor durante a configuração.

(Herdado de ProviderBase)
ParentProvider

Obtém ou define o objeto SiteMapProvider pai do provedor atual.

(Herdado de SiteMapProvider)
ResourceKey

Obtém ou define a chave de recursos usada para localizar atributos SiteMapNode.

(Herdado de SiteMapProvider)
RootNode

Obtém o objeto SiteMapNode raiz dos dados do mapa de site que o provedor atual representa.

(Herdado de SiteMapProvider)
RootProvider

Obtém o objeto SiteMapProvider raiz na hierarquia de provedores atuais.

(Herdado de SiteMapProvider)
SecurityTrimmingEnabled

Obtém um valor booliano que indica se um provedor de mapa de site filtra nós do mapa de site com base em uma função do usuário.

(Herdado de SiteMapProvider)

Métodos

AddNode(SiteMapNode)

Adiciona um objeto SiteMapNode à coleção de nós mantida pelo provedor do mapa do site.

(Herdado de SiteMapProvider)
AddNode(SiteMapNode, SiteMapNode)

Adiciona um SiteMapNode às coleções mantidas pelo provedor de mapa de site e estabelece uma relação pai/filho entre os objetos SiteMapNode.

BuildSiteMap()

Quando substituído em uma classe derivada, carrega as informações do mapa do site do armazenamento persistente e o compila na memória.

Clear()

Remove todos os elementos nas coleções de nós pais e filhos do mapa de site que o StaticSiteMapProvider controla como parte de seu estado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindSiteMapNode(HttpContext)

Recupera um objeto SiteMapNode que representa a página solicitada no momento usando o objeto HttpContext especificado.

(Herdado de SiteMapProvider)
FindSiteMapNode(String)

Recupera um objeto SiteMapNode que representa a página na URL especificada.

FindSiteMapNodeFromKey(String)

Recupera um objeto SiteMapNode com base em uma chave especificada.

GetChildNodes(SiteMapNode)

Recupera os nós de mapa de site filhos de um objeto SiteMapNode específico.

GetCurrentNodeAndHintAncestorNodes(Int32)

Fornece um método de pesquisa otimizado para provedores de mapa de site ao recuperar o nó para a página solicitada no momento e ao buscar os nós de mapa de site pai e ancestral para a página atual.

(Herdado de SiteMapProvider)
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32)

Fornece um método de pesquisa otimizado para provedores de mapa de site ao recuperar o nó para a página solicitada no momento e ao buscar os nós de mapa de site na proximidade do nó atual.

(Herdado de SiteMapProvider)
GetHashCode()

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

(Herdado de Object)
GetParentNode(SiteMapNode)

Recupera o nó pai de mapa de site de um objeto SiteMapNode específico.

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

Fornece um método de pesquisa otimizado para provedores de mapa de site ao recuperar um nó ancestral para a página solicitada no momento e ao buscar os nós descendentes para o ancestral.

(Herdado de SiteMapProvider)
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32)

Fornece um método de pesquisa otimizado para provedores de mapa de site ao recuperar um nó ancestral para o objeto SiteMapNode especificado e ao buscar seus nós filho.

(Herdado de SiteMapProvider)
GetRootNodeCore()

Quando substituído em uma classe derivada, recupera o nó raiz de todos os nós gerenciados no momento pelo provedor atual.

(Herdado de SiteMapProvider)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
HintAncestorNodes(SiteMapNode, Int32)

Fornece um método que os provedores de mapa de site podem substituir para executar uma recuperação otimizada de um ou mais níveis de nós pai e ancestrais, relativos ao objeto SiteMapNode especificado.

(Herdado de SiteMapProvider)
HintNeighborhoodNodes(SiteMapNode, Int32, Int32)

Fornece um método que os provedores de mapa de site podem substituir para executar uma recuperação de nós otimizada localizada na proximidade do nó especificado.

(Herdado de SiteMapProvider)
Initialize(String, NameValueCollection)

Inicializa a implementação SiteMapProvider, incluindo todos os recursos necessários para carregar os dados de mapa do site do armazenamento persistente.

(Herdado de SiteMapProvider)
IsAccessibleToUser(HttpContext, SiteMapNode)

Recupera o valor booliano que indica se o objeto SiteMapNode especificado pode ser exibido pelo usuário no contexto especificado.

(Herdado de SiteMapProvider)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
RemoveNode(SiteMapNode)

Remove o objeto SiteMapNode especificado de todas as coleções de nó de mapa de site controladas pelo provedor de mapa de site.

ResolveSiteMapNode(HttpContext)

Aciona o evento SiteMapResolve.

(Herdado de SiteMapProvider)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Eventos

SiteMapResolve

Ocorre quando a propriedade CurrentNode é chamada.

(Herdado de SiteMapProvider)

Aplica-se a

Confira também