StaticSiteMapProvider Classe

Definição

Serve como uma implementação parcial da classe abstrata SiteMapProvider e serve como classe base para a classe XmlSiteMapProvider, que é o fornecedor padrão de mapas de sites em 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 seguinte demonstra como estender a classe StaticSiteMapProvider para usar Microsoft Access como fornecedor de mapas do sítio. A AccessSiteMapProvider classe é um fornecedor de mapas de sítios que suporta apenas uma hierarquia simples, com profundidade de um nível. A tabela onde os dados do mapa do local 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 classe AccessSiteMapProvider é derivada da classe StaticSiteMapProvider e recupera a sua informação de uma base de dados Microsoft Access usando consultas SQL básicas e os objetos OleDbCommand 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

Finalmente, o AccessSiteMapProvider está configurado como o fornecedor padrão no ficheiro Web.config seguinte.

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

Observações

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

A StaticSiteMapProvider classe suporta a escrita de um fornecedor de mapas de sites (por exemplo, um XmlSiteMapProvider) que traduz um mapa de site armazenado em armazenamento persistente para um que está armazenado na memória. A StaticSiteMapProvider classe fornece implementações básicas para armazenar e recuperar SiteMapNode objetos.

As SiteMapProvider classes and StaticSiteMapProvider suportam o conceito de hierarquia de fornecedor de mapas de sítios, onde um fornecedor de mapas de sítios pode ter uma relação hierárquica com outros fornecedores de mapas de sítios. Este padrão é implementado com as RootProvider propriedades e ParentProvider .

A StaticSiteMapProvider classe armazena os seus SiteMapNode objetos em tabelas de hash e utiliza internamente a SiteMapNode.Url propriedade das páginas, representadas por nós do mapa do site, como chaves. (Se um nó do mapa do site não especificar uma URL, este é rastreado usando uma chave única gerada automaticamente.) Como resultado, não pode existir nós de mapa de sites em que um nó de mapa de site com o mesmo URL seja usado mais do que uma vez. Por exemplo, tentar carregar o nó do mapa do sítio ilustrado no seguinte exemplo de código com a classe XmlSiteMapProvider, que é o fornecedor padrão de mapas ASP.NET do sítio, ou qualquer fornecedor de mapas do sítio derivado da classe StaticSiteMapProvider não funcionará porque a página AboutUs.aspx é usada mais do que 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 estiver a prolongar a StaticSiteMapProvider aula, os três métodos mais importantes são os GetRootNodeCore, Initialize, e BuildSiteMap os métodos. Os Clear métodos and FindSiteMapNode têm implementações padrão que são suficientes para a maioria das implementações de fornecedores de mapas personalizados de site.

O Initialize método é chamado para inicializar fornecedores de mapas de sítios derivados, incluindo quaisquer recursos necessários para carregar dados de mapas de sítio, mas tenta construir o nó do mapa de sítios em memória. Se a sua classe derivada estiver a usar ficheiros para armazenar dados do mapa do site, qualquer inicialização de ficheiro pode ser realizada aqui. Se o nó do mapa do site usar algum outro tipo de armazenamento de dados, como uma base de dados relacional, a inicialização de uma ligação pode ser realizada aqui. Atributos adicionais, como nomes de ficheiros ou strings de ligação colocados no elemento fornecedor do mapa do site na configuração, são processados pelo sistema de configuração ASP.NET e passados para o método Initialize com o parâmetro attributes.

O BuildSiteMap método deve ser sobreposto por todas as classes derivadas da StaticSiteMapProvider classe e é chamado para carregar o nó do mapa do site a partir do armazenamento persistente e convertê-lo numa representação interna. O BuildSiteMap método é chamado internamente em muitas das implementações membros padrão das StaticSiteMapProvider classes e.XmlSiteMapProvider Se implementar o seu próprio fornecedor de mapas do sítio, certifique-se de que o processamento dos dados do mapa ocorra uma vez e que as chamadas subsequentes ao BuildSiteMap método retornam imediatamente, caso a informação do mapa do sítio já tenha sido carregada. Quando implementar o BuildSiteMap método, certifique-se de que é seguro para threads, pois múltiplos pedidos de página concorrentes podem resultar indiretamente em múltiplas chamadas para carregar informação do mapa do site. A infraestrutura do mapa do local suporta a visualização da informação do mapa do local com base no papel do utilizador. Dependendo da Roles propriedade suportada pelos objetos individuais SiteMapNode , pode existir uma estrutura de navegação diferente para diferentes utilizadores. As implementações padrão da recuperação de nós do mapa de site da classe StaticSiteMapProvider realizam automaticamente o ajuste de segurança ao chamar o IsAccessibleToUser método.

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

Notas para Implementadores

Quando herdas da StaticSiteMapProvider classe, tens de sobrescrever o seguinte membro: BuildSiteMap().

Construtores

Name Description
StaticSiteMapProvider()

Inicializa uma nova instância da StaticSiteMapProvider classe.

Propriedades

Name Description
CurrentNode

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

(Herdado de SiteMapProvider)
Description

Recebe uma descrição breve e amigável, adequada para exibição em ferramentas administrativas ou outras interfaces de utilizador (UIs).

(Herdado de ProviderBase)
EnableLocalization

Recebe ou define um valor booleano que indica se os valores localizados dos SiteMapNode atributos são devolvidos.

(Herdado de SiteMapProvider)
Name

Recebe o nome amigável usado para se referir ao fornecedor durante a configuração.

(Herdado de ProviderBase)
ParentProvider

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

(Herdado de SiteMapProvider)
ResourceKey

Obter ou definir a chave de recurso usada para localizar SiteMapNode atributos.

(Herdado de SiteMapProvider)
RootNode

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

(Herdado de SiteMapProvider)
RootProvider

Obtém o objeto raiz SiteMapProvider na hierarquia atual do fornecedor.

(Herdado de SiteMapProvider)
SecurityTrimmingEnabled

Obtém um valor booleano que indica se um fornecedor de mapas de site filtra os nós de mapas de site com base no papel do utilizador.

(Herdado de SiteMapProvider)

Métodos

Name Description
AddNode(SiteMapNode, SiteMapNode)

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

AddNode(SiteMapNode)

Adiciona um SiteMapNode objeto à coleção de nós que é mantida pelo fornecedor do mapa do local.

(Herdado de SiteMapProvider)
BuildSiteMap()

Quando sobreposta numa classe derivada, carrega a informação do mapa do site a partir do armazenamento persistente e constrói-a na memória.

Clear()

Remove todos os elementos nas coleções de nós de mapas do sítio filho e do sítio pai que os StaticSiteMapProvider acompanham como parte do seu estado.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
FindSiteMapNode(HttpContext)

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

(Herdado de SiteMapProvider)
FindSiteMapNode(String)

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

FindSiteMapNodeFromKey(String)

Recupera um SiteMapNode objeto com base numa chave especificada.

GetChildNodes(SiteMapNode)

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

GetCurrentNodeAndHintAncestorNodes(Int32)

Fornece um método de pesquisa otimizado para fornecedores de mapas de sites ao recuperar o nó da página atualmente solicitada e ao obter os nós de mapa do sítio pai e antepassado para a página atual.

(Herdado de SiteMapProvider)
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32)

Fornece um método de pesquisa otimizado para fornecedores de mapas de sítios ao recuperar o nó da página atualmente solicitada e obter os nós do mapa do sítio próximos do nó atual.

(Herdado de SiteMapProvider)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetParentNode(SiteMapNode)

Recupera o nó do mapa do sítio principal de um objeto específico SiteMapNode .

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

Fornece um método de pesquisa otimizado para fornecedores de mapas de site ao recuperar um nó ancestral para a página atualmente solicitada e obter os nós descendentes do antepassado.

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

Fornece um método de pesquisa otimizado para fornecedores de mapas de site ao recuperar um nó ancestral para o objeto especificado SiteMapNode e ao obter os seus nós filhos.

(Herdado de SiteMapProvider)
GetRootNodeCore()

Quando sobreposto numa classe derivada, recupera o nó raiz de todos os nós atualmente geridos pelo fornecedor 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 fornecedores de mapas de site podem sobrepor para realizar uma recuperação otimizada de um ou mais níveis de nós pai e ancestral, relativamente ao objeto especificado SiteMapNode .

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

Fornece um método que os fornecedores de mapas de site podem sobrepor para realizar uma recuperação otimizada dos nós encontrados na proximidade do nó especificado.

(Herdado de SiteMapProvider)
Initialize(String, NameValueCollection)

Inicializa a SiteMapProvider implementação, incluindo quaisquer recursos necessários para carregar dados do mapa do local a partir do armazenamento persistente.

(Herdado de SiteMapProvider)
IsAccessibleToUser(HttpContext, SiteMapNode)

Recupera um valor booleano que indica se o objeto especificado SiteMapNode pode ser visualizado pelo utilizador no contexto especificado.

(Herdado de SiteMapProvider)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
RemoveNode(SiteMapNode)

Remove o objeto especificado SiteMapNode de todas as coleções de nós de mapas do sítio que são rastreadas pelo fornecedor do mapa.

ResolveSiteMapNode(HttpContext)

Eleva o SiteMapResolve evento.

(Herdado de SiteMapProvider)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

evento

Name Description
SiteMapResolve

Ocorre quando a CurrentNode propriedade é chamada.

(Herdado de SiteMapProvider)

Aplica-se a

Ver também