StaticSiteMapProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Viene utilizzato come implementazione parziale della classe SiteMapProvider abstract e come classe base per la classe XmlSiteMapProvider, che rappresenta il provider della mappa del sito predefinito in 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
- Ereditarietà
- Derivato
Esempio
Nell'esempio di codice seguente viene illustrato come estendere la StaticSiteMapProvider classe per usare Microsoft Access come provider della mappa del sito. La AccessSiteMapProvider
classe è un provider di mappe del sito che supporta solo una semplice gerarchia completa a un livello. La tabella in cui sono archiviati i dati della mappa del sito ha la struttura seguente:
NODEID URL NAME PARENTNODEID
---------------------------------------------
1 default.aspx Default <NULL>
2 catalog.aspx Catalog 1
3 aboutus.aspx Contact Us 1
...
La AccessSiteMapProvider
classe è derivata dalla StaticSiteMapProvider classe e recupera le informazioni da un database di Microsoft Access usando query SQL di base e gli OleDbCommand oggetti 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
Infine, viene AccessSiteMapProvider
configurato come provider predefinito nel file di Web.config seguente.
<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>
Commenti
La StaticSiteMapProvider classe è un'implementazione parziale della classe astratta SiteMapProvider e fornisce due metodi aggiuntivi: AddNode e RemoveNode, nonché i metodi astratti BuildSiteMap e protetti Clear .
La StaticSiteMapProvider classe supporta la scrittura di un provider di mappe del sito (ad esempio, un XmlSiteMapProvider) che converte una mappa del sito archiviata in una risorsa di archiviazione permanente in una risorsa archiviata in memoria. La StaticSiteMapProvider classe fornisce implementazioni di base per l'archiviazione e il recupero di SiteMapNode oggetti.
Le SiteMapProvider classi e StaticSiteMapProvider supportano il concetto di gerarchia del provider di mappe del sito, in cui un provider di mappe del sito può avere una relazione gerarchica con altri provider di mappe del sito. Questo modello viene implementato con le RootProvider proprietà e ParentProvider .
La StaticSiteMapProvider classe archivia gli SiteMapNode oggetti nelle tabelle hash e usa internamente la SiteMapNode.Url proprietà delle pagine, rappresentata dai nodi della mappa del sito, come chiavi. Se un nodo della mappa del sito non specifica un URL, viene monitorato usando una chiave univoca generata automaticamente. Di conseguenza, non è possibile avere nodi della mappa del sito in cui un nodo della mappa del sito con lo stesso URL viene usato più volte. Ad esempio, se si tenta di caricare il nodo della mappa del sito illustrato nell'esempio di codice seguente con la XmlSiteMapProvider classe , ovvero il provider predefinito ASP.NET mappa del sito o qualsiasi provider di mappe del sito derivato dalla StaticSiteMapProvider classe non funzionerà perché la pagina AboutUs.aspx viene usata più volte.
<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 si estende la StaticSiteMapProvider classe, i tre metodi più importanti sono i GetRootNodeCoremetodi , Initializee BuildSiteMap . I Clear metodi e FindSiteMapNode hanno implementazioni predefinite sufficienti per la maggior parte delle implementazioni del provider della mappa del sito personalizzate.
Il Initialize metodo viene chiamato per inizializzare i provider di mappe del sito derivati, incluse le risorse necessarie per caricare i dati della mappa del sito, ma tenta di compilare il nodo della mappa del sito in memoria. Se la classe derivata usa file per archiviare i dati della mappa del sito, è possibile eseguire qui qualsiasi inizializzazione dei file. Se il nodo della mappa del sito usa un altro tipo di archivio dati, ad esempio un database relazionale, l'inizializzazione di una connessione potrebbe essere eseguita qui. Altri attributi, ad esempio i nomi di file o le stringhe di connessione posizionati nell'elemento del provider della mappa del sito nella configurazione, vengono elaborati dal sistema di configurazione ASP.NET e passati al metodo con il Initializeattributes
parametro .
Il BuildSiteMap metodo deve essere sottoposto a override da tutte le classi derivate dalla StaticSiteMapProvider classe e viene chiamato per caricare il nodo della mappa del sito dall'archiviazione permanente e convertirlo in una rappresentazione interna. Il BuildSiteMap metodo viene chiamato internamente in molte implementazioni dei membri predefinite delle StaticSiteMapProvider classi e XmlSiteMapProvider . Se si implementa il proprio provider di mappe del sito, assicurarsi che l'elaborazione dei dati della mappa del sito venga eseguita una volta e le chiamate successive al BuildSiteMap metodo restituiscano immediatamente, se le informazioni sulla mappa del sito sono già state caricate. Quando si implementa il BuildSiteMap metodo , assicurarsi che sia thread-safe, poiché più richieste di pagine simultanee possono generare indirettamente più chiamate per caricare le informazioni sulla mappa del sito. L'infrastruttura della mappa del sito supporta la visualizzazione delle informazioni sulla mappa del sito in base al ruolo dell'utente. A seconda della Roles proprietà supportata dai singoli SiteMapNode oggetti, può esistere una struttura di navigazione diversa per utenti diversi. Le implementazioni predefinite dei membri di recupero dei nodi della mappa del sito della StaticSiteMapProvider classe eseguono automaticamente il trimming di sicurezza chiamando il IsAccessibleToUser metodo .
I AddNodemetodi , Clear e RemoveNode modificano le raccolte interne usate per tenere traccia dei nodi della mappa del sito in modo thread-safe.
Note per gli implementatori
Quando si eredita dalla StaticSiteMapProvider classe , è necessario eseguire l'override del membro seguente: BuildSiteMap().
Costruttori
StaticSiteMapProvider() |
Inizializza una nuova istanza della classe StaticSiteMapProvider. |
Proprietà
CurrentNode |
Ottiene l'oggetto SiteMapNode che rappresenta la pagina attualmente richiesta. (Ereditato da SiteMapProvider) |
Description |
Ottiene una breve descrizione di facile comprensione che è possibile visualizzare in strumenti di amministrazione o in altre interfacce utente (UI, User Interface). (Ereditato da ProviderBase) |
EnableLocalization |
Ottiene o imposta un valore booleano che indica se i valori personalizzati degli attributi SiteMapNode vengono restituiti. (Ereditato da SiteMapProvider) |
Name |
Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione. (Ereditato da ProviderBase) |
ParentProvider |
Ottiene o imposta l'oggetto SiteMapProvider padre del provider corrente. (Ereditato da SiteMapProvider) |
ResourceKey |
Ottiene o imposta la chiave di risorsa usata per localizzare gli attributi di SiteMapNode. (Ereditato da SiteMapProvider) |
RootNode |
Ottiene l'oggetto SiteMapNode radice dei dati della mappa del sito rappresentati dal provider corrente. (Ereditato da SiteMapProvider) |
RootProvider |
Ottiene l'oggetto SiteMapProvider radice della gerarchia di provider corrente. (Ereditato da SiteMapProvider) |
SecurityTrimmingEnabled |
Ottiene un valore booleano che indica se un provider della mappa del sito filtra i nodi della mappa del sito in base al ruolo dell'utente. (Ereditato da SiteMapProvider) |
Metodi
AddNode(SiteMapNode, SiteMapNode) |
Aggiunge una classe SiteMapNode agli insiemi gestiti dal provider della mappa del sito e stabilisce una relazione padre/figlio tra gli oggetti SiteMapNode. |
AddNode(SiteMapNode) |
Aggiunge un oggetto SiteMapNode alla raccolta dei nodi gestiti dal provider della mappa del sito. (Ereditato da SiteMapProvider) |
BuildSiteMap() |
Quando sottoposto a override in una classe derivata, carica le informazioni sulla mappa del sito dall'archivio permanente e lo compila nella memoria. |
Clear() |
Rimuove tutti gli elementi negli insiemi di nodi figlio e padre della mappa del sito che la classe StaticSiteMapProvider traccia come parte del relativo stato. |
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
FindSiteMapNode(HttpContext) |
Recupera un oggetto SiteMapNode che rappresenta la pagina attualmente richiesta usando l'oggetto HttpContext specificato. (Ereditato da SiteMapProvider) |
FindSiteMapNode(String) |
Recupera un oggetto SiteMapNode che rappresenta la pagina nell'URL specificato. |
FindSiteMapNodeFromKey(String) |
Recupera un oggetto SiteMapNode a partire da una chiave specificata. |
GetChildNodes(SiteMapNode) |
Recupera i nodi figlio della mappa del sito di un oggetto SiteMapNode specifico. |
GetCurrentNodeAndHintAncestorNodes(Int32) |
Specifica un metodo di ricerca ottimizzato per i provider della mappa del sito al momento del recupero del nodo per la pagina richiesta attualmente e dei nodi padre e predecessore per la mappa del sito per la pagina corrente. (Ereditato da SiteMapProvider) |
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) |
Specifica un metodo di ricerca ottimizzato per i provider della mappa del sito al momento del recupero del nodo per la pagina richiesta attualmente e dei nodi della mappa del sito in prossimità del nodo corrente. (Ereditato da SiteMapProvider) |
GetHashCode() |
Funge da funzione hash predefinita. (Ereditato da Object) |
GetParentNode(SiteMapNode) |
Recupera il nodo padreo della mappa del sito di un oggetto SiteMapNode specifico. |
GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32) |
Specifica un metodo di ricerca ottimizzato per i provider della mappa del sito al momento del recupero di un nodo predecessore per la pagina richiesta attualmente e dei nodi discendente per il predecessore. (Ereditato da SiteMapProvider) |
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32) |
Specifica un metodo di ricerca ottimizzato per i provider della mappa del sito quando si recupera un nodo predecessore per l'oggetto SiteMapNode specificato insieme ai relativi nodi figlio. (Ereditato da SiteMapProvider) |
GetRootNodeCore() |
Quando sottoposto a override in una classe derivata, recupera il nodo radice di tutti i nodi gestiti attualmente dal provider corrente. (Ereditato da SiteMapProvider) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
HintAncestorNodes(SiteMapNode, Int32) |
Specifica un metodo del quale i provider della mappa del sito possono eseguire l'override per un recupero ottimizzato di uno o più livelli di nodi padre e predecessore, in relazione all'oggetto SiteMapNode specificato. (Ereditato da SiteMapProvider) |
HintNeighborhoodNodes(SiteMapNode, Int32, Int32) |
Specifica un metodo del quale i provider della mappa del sito possono eseguire l'override per un recupero ottimizzato dei nodi trovati in prossimità del nodo specificato. (Ereditato da SiteMapProvider) |
Initialize(String, NameValueCollection) |
Inizializza l'implementazione SiteMapProvider, incluse le risorse necessarie per caricare i dati della mappa del sito dall'archiviazione persistente. (Ereditato da SiteMapProvider) |
IsAccessibleToUser(HttpContext, SiteMapNode) |
Recupera un valore booleano che indica se l'oggetto SiteMapNode specificato può essere visualizzato dall'utente nel contesto specifico. (Ereditato da SiteMapProvider) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente. (Ereditato da Object) |
RemoveNode(SiteMapNode) |
Rimuove l'oggetto SiteMapNode specificato da tutti gli insiemi di nodi della mappa del sito tracciati dal provider della mappa del sito. |
ResolveSiteMapNode(HttpContext) |
Genera l'evento SiteMapResolve. (Ereditato da SiteMapProvider) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
SiteMapResolve |
Si verifica quando viene chiamata la proprietà CurrentNode. (Ereditato da SiteMapProvider) |