XmlSiteMapProvider Classe

Definizione

La classe XmlSiteMapProvider viene derivata dalla classe SiteMapProvider e rappresenta il provider della mappa del sito predefinito per ASP.NET. La classe XmlSiteMapProvider genera strutture ad albero della mappa del sito da file XML con estensione sitemap.

public ref class XmlSiteMapProvider : System::Web::StaticSiteMapProvider, IDisposable
public class XmlSiteMapProvider : System.Web.StaticSiteMapProvider, IDisposable
type XmlSiteMapProvider = class
    inherit StaticSiteMapProvider
    interface IDisposable
Public Class XmlSiteMapProvider
Inherits StaticSiteMapProvider
Implements IDisposable
Ereditarietà
Implementazioni

Commenti

La classe carica i dati della XmlSiteMapProvider mappa del sito da un file XML che segue uno schema noto. I dati della mappa del sito sono delimitati da <siteMap> tag e sono costituiti da tag annidati <siteMapNode> . Due vincoli vengono imposti dalle SiteMapProvider classi e XmlSiteMapProvider sulla struttura dei dati della mappa del sito:

  • Può esistere un solo nodo radice.

  • Per SiteMapNode gli oggetti che specificano GLI URL, gli URL devono essere univoci nell'ambito del provider. Per i nodi che non specificano GLI URL, tutte le chiavi devono essere univoche.

Nell'esempio di codice seguente viene illustrato un esempio di file XML che può essere usato con .XmlSiteMapProvider

<siteMap>  
  <siteMapNode title="RootNode" description="This is the root node of the site map. There can be only one root node." url="Page1.aspx" >  
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page2.aspx">  
      <siteMapNode title="ChildOfChildNode" description="SiteMapNode objects can be nested to any level." url="Page3.aspx"/>  
    </siteMapNode>  
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page4.aspx"/>  
  </siteMapNode>  
</siteMap>  

XmlSiteMapProvider è il provider predefinito per ASP.NET e legge i dati XML da un file denominato Web.sitemap che si trova all'interno della struttura di directory dell'applicazione ASP.NET. Per impostazione predefinita, il file Web.sitemap si trova nella radice dell'applicazione; Tuttavia, se si desidera modificare il nome o il percorso del file da cui vengono caricati i XmlSiteMapProvider dati, è possibile eseguire l'override della configurazione predefinita nel file di Web.config. Eseguendo l'override delle impostazioni di configurazione predefinite nel file di Web.config, è possibile personalizzare il comportamento di XmlSiteMapProvider per ogni applicazione ASP.NET, in base alle esigenze.

Nell'esempio di codice seguente viene illustrato un file di esempio Web.config, in cui viene ancora usato , XmlSiteMapProvider ma viene usato un file di mappa del sito diverso. Poiché tutti i provider in un SiteMapProviderCollection oggetto devono essere denominati in modo univoco, quello specificato nel file di Web.config usa un nome diverso da quello predefinito, ma viene impostato anche come provider predefinito in modo che venga usato invece dell'oggetto XmlSiteMapProvider specificato nella configurazione di ASP.NET predefinita.

Nota

È possibile modificare il nome del file di dati di navigazione del sito, ma non è possibile modificarne l'estensione. Legge XmlSiteMapProvider solo i dati dai file denominati con l'estensione del nome file .sitemap.

<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">  
  <providers>  
    <add name="MyXmlSiteMapProvider"  
      description="SiteMap provider that reads in .sitemap files."  
      type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  
      siteMapFile="CustomWeb.sitemap" />  
  </providers>  
</siteMap>  

Costruttori

XmlSiteMapProvider()

Crea una nuova istanza senza nome della classe XmlSiteMapProvider.

Proprietà

CurrentNode

Ottiene l'oggetto SiteMapNode che rappresenta la pagina attualmente richiesta.

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 il nodo radice della mappa del sito.

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 un oggetto SiteMapNode agli insiemi gestiti dal provider corrente.

AddNode(SiteMapNode)

Aggiunge un oggetto SiteMapNode alla raccolta dei nodi gestiti dal provider della mappa del sito.

(Ereditato da SiteMapProvider)
AddProvider(String, SiteMapNode)

Collega un provider figlio della mappa del sito al provider corrente.

BuildSiteMap()

Carica le informazioni della mappa del sito da un file XML e le compila in memoria.

Clear()

Rimuove tutti gli elementi negli insiemi di nodi figlio e padre della mappa del sito e di provider della mappa del sito, che l'oggetto XmlSiteMapProvider traccia internamente come parte del relativo stato.

Dispose()

Notifica al monitor di file del file Web.sitemap che l'oggetto XmlSiteMapProvider non richiede più il monitoraggio del file.

Dispose(Boolean)

Notifica al monitor di file del file Web.sitemap che l'oggetto XmlSiteMapProvider non richiede più il monitoraggio del file. Il metodo Dispose(Boolean) accetta un parametro booleano che indica se il metodo viene chiamato da un codice utente.

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)

Restituisce i nodi figlio della mappa del sito.

GetChildNodes(SiteMapNode)

Recupera i nodi figlio della mappa del sito di un oggetto SiteMapNode specifico.

(Ereditato da StaticSiteMapProvider)
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)

Restituisce il nodo padre della mappa del sito.

GetParentNode(SiteMapNode)

Recupera il nodo padreo della mappa del sito di un oggetto SiteMapNode specifico.

(Ereditato da StaticSiteMapProvider)
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()

Recupera il nodo di primo livello della struttura dei dati della mappa del sito corrente.

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'oggetto XmlSiteMapProvider. Il metodo Initialize(String, NameValueCollection) non compila realmente una mappa del sito, prepara soltanto lo stato della classe XmlSiteMapProvider all'esecuzione di questa operazione.

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 tracciati dal provider.

RemoveProvider(String)

Rimuove un provider figlio collegato della mappa del sito dalla gerarchia del provider corrente.

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)

Si applica a

Vedi anche