XmlSiteMapProvider 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.
La classe XmlSiteMapProvider deriva dalla classe SiteMapProvider ed è il provider predefinito della mappa del sito per ASP.NET. La XmlSiteMapProvider classe genera alberi della mappa del sito da file XML con l'estensione del nome file .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 associati 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>
Il 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 Web.config. Eseguendo l'override delle impostazioni di configurazione predefinite nel file Web.config, è possibile personalizzare il comportamento del XmlSiteMapProvider per ogni applicazione ASP.NET, in base alle esigenze.
Nell'esempio di codice seguente viene illustrato un esempio Web.config file, in cui viene ancora usato , XmlSiteMapProvider ma viene usato un file di mappa del sito diverso. Poiché tutti i provider in un oggetto SiteMapProviderCollection devono essere denominati in modo univoco, quello specificato nel file di Web.config usa un nome diverso dal valore predefinito, ma viene impostato anche come provider predefinito in modo che venga usato anziché il XmlSiteMapProvider specificato nella configurazione predefinita ASP.NET.
Note
È 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
| Nome | Descrizione |
|---|---|
| XmlSiteMapProvider() |
Crea una nuova istanza, senza nome, della XmlSiteMapProvider classe . |
Proprietà
| Nome | Descrizione |
|---|---|
| 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 descrittiva adatta per la visualizzazione negli strumenti di amministrazione o in altre interfacce utente. (Ereditato da ProviderBase) |
| EnableLocalization |
Ottiene o imposta un valore booleano che indica se vengono restituiti valori localizzati di SiteMapNode attributi. (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 padre SiteMapProvider del provider corrente. (Ereditato da SiteMapProvider) |
| ResourceKey |
Ottiene o imposta la chiave di risorsa usata per la localizzazione degli SiteMapNode attributi. (Ereditato da SiteMapProvider) |
| RootNode |
Ottiene il nodo radice della mappa del sito. |
| RootProvider |
Ottiene l'oggetto radice SiteMapProvider nella gerarchia del 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 di un utente. (Ereditato da SiteMapProvider) |
Metodi
| Nome | Descrizione |
|---|---|
| AddNode(SiteMapNode, SiteMapNode) |
Aggiunge un SiteMapNode oggetto alle raccolte gestite dal provider corrente. |
| AddNode(SiteMapNode) |
Aggiunge un SiteMapNode oggetto alla raccolta di nodi gestita dal provider della mappa del sito. (Ereditato da SiteMapProvider) |
| AddProvider(String, SiteMapNode) |
Collega un provider della mappa del sito figlio al provider corrente. |
| BuildSiteMap() |
Carica le informazioni sulla mappa del sito da un file XML e la compila in memoria. |
| Clear() |
Rimuove tutti gli elementi nelle raccolte di nodi della mappa del sito figlio e padre e provider della mappa del sito che l'oggetto XmlSiteMapProvider tiene internamente traccia come parte del relativo stato. |
| Dispose() |
Notifica al monitoraggio dei file del file Web.sitemap che l'oggetto XmlSiteMapProvider non richiede più il monitoraggio del file. |
| Dispose(Boolean) |
Notifica al monitoraggio dei file del file Web.sitemap che l'oggetto XmlSiteMapProvider non richiede più il monitoraggio del file. Il Dispose(Boolean) metodo accetta un parametro booleano che indica se il metodo viene chiamato dal codice utente. |
| Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object) |
| FindSiteMapNode(HttpContext) |
Recupera un SiteMapNode oggetto che rappresenta la pagina attualmente richiesta utilizzando l'oggetto specificato HttpContext . (Ereditato da SiteMapProvider) |
| FindSiteMapNode(String) |
Recupera un SiteMapNode oggetto che rappresenta la pagina in corrispondenza dell'URL specificato. |
| FindSiteMapNodeFromKey(String) |
Recupera un SiteMapNode oggetto in base a una chiave specificata. |
| GetChildNodes(SiteMapNode) |
Restituisce i nodi figlio della mappa del sito. |
| GetChildNodes(SiteMapNode) |
Recupera i nodi della mappa del sito figlio di un oggetto specifico SiteMapNode . (Ereditato da StaticSiteMapProvider) |
| GetCurrentNodeAndHintAncestorNodes(Int32) |
Fornisce un metodo di ricerca ottimizzato per i provider di mappe del sito durante il recupero del nodo per la pagina attualmente richiesta e il recupero dei nodi della mappa del sito padre e predecessore per la pagina corrente. (Ereditato da SiteMapProvider) |
| GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) |
Fornisce un metodo di ricerca ottimizzato per i provider di mappe del sito durante il recupero del nodo per la pagina attualmente richiesta e il recupero 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 della mappa del sito padre di un oggetto specifico SiteMapNode . (Ereditato da StaticSiteMapProvider) |
| GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32) |
Fornisce un metodo di ricerca ottimizzato per i provider di mappe del sito durante il recupero di un nodo predecessore per la pagina attualmente richiesta e il recupero dei nodi discendenti per il predecessore. (Ereditato da SiteMapProvider) |
| GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32) |
Fornisce un metodo di ricerca ottimizzato per i provider della mappa del sito durante il recupero di un nodo predecessore per l'oggetto specificato SiteMapNode e il recupero dei relativi nodi figlio. (Ereditato da SiteMapProvider) |
| GetRootNodeCore() |
Recupera il nodo di primo livello della struttura dei dati della mappa del sito corrente. |
| GetType() |
Ottiene il Type dell'istanza corrente. (Ereditato da Object) |
| HintAncestorNodes(SiteMapNode, Int32) |
Fornisce un metodo che i provider di mapping del sito possono eseguire l'override per eseguire un recupero ottimizzato di uno o più livelli di nodi padre e predecessore, rispetto all'oggetto specificato SiteMapNode . (Ereditato da SiteMapProvider) |
| HintNeighborhoodNodes(SiteMapNode, Int32, Int32) |
Fornisce un metodo che i provider di mapping del sito possono eseguire l'override per eseguire un recupero ottimizzato dei nodi trovati in prossimità del nodo specificato. (Ereditato da SiteMapProvider) |
| Initialize(String, NameValueCollection) |
Inizializza l'oggetto XmlSiteMapProvider. Il Initialize(String, NameValueCollection) metodo non crea effettivamente una mappa del sito, ma prepara solo lo stato dell'oggetto XmlSiteMapProvider a tale scopo. |
| IsAccessibleToUser(HttpContext, SiteMapNode) |
Recupera un valore booleano che indica se l'oggetto specificato SiteMapNode può essere visualizzato dall'utente nel contesto specificato. (Ereditato da SiteMapProvider) |
| MemberwiseClone() |
Crea una copia superficiale del Objectcorrente. (Ereditato da Object) |
| RemoveNode(SiteMapNode) |
Rimuove l'oggetto specificato SiteMapNode da tutte le raccolte di nodi rilevate dal provider. |
| RemoveProvider(String) |
Rimuove un provider della mappa del sito figlio collegato dalla gerarchia per il provider corrente. |
| ResolveSiteMapNode(HttpContext) |
Genera l'evento SiteMapResolve. (Ereditato da SiteMapProvider) |
| ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
Eventi
| Nome | Descrizione |
|---|---|
| SiteMapResolve |
Si verifica quando viene chiamata la CurrentNode proprietà . (Ereditato da SiteMapProvider) |