Le mappe del sito sono utilizzate unitamente a SiteMapDataSource, SiteMapPath e ad altri controlli per effettuare il rendering di un'interfaccia effettiva di spostamento per utenti perché si spostino in un sito Web. Un oggetto SiteMap è un componente dell'infrastruttura di spostamento nel sito ASP.NET che fornisce accesso alle informazioni in sola lettura sulla mappa del sito per gli sviluppatori di pagine e di controlli, utilizzando i controlli SiteMapDataSource e di spostamento. Altri componenti dell'infrastruttura includono le classi SiteMapProvider e XmlSiteMapProvider, il file Web.sitemap e vari controlli che utilizzano la classe SiteMap, ad esempio il controllo SiteMapPath, per effettuare il rendering dei contenuti e dei menu.
La classe SiteMap dispone di diverse funzioni:
-
Fornisce il nodo principale della gerarchia di spostamento nel sito (può esistere un unico nodo principale).
-
Identifica quale provider di mappa del sito è quello principale o predefinito.
-
Tiene traccia di tutti gli oggetti provider utilizzati per creare la classe SiteMap.
Sostanzialmente, la classe SiteMap è un contenitore di un insieme gerarchico di oggetti SiteMapNode. Tuttavia SiteMap non mantiene relazioni tra i nodi, piuttosto delega questa funzione ai provider della mappa del sito. La classe SiteMap svolge la funzione di interfaccia alle informazioni sullo spostamento nel sito (come oggetti SiteMapNode) contenute nei provider della mappa del sito. Tiene traccia dei provider dai quali è possibile accedere ai dati di spostamento nel sito ed espone il relativo insieme Providers. Un provider può memorizzare le relative informazioni sulla mappa del sito in qualsiasi modo purché estenda la classe astratta SiteMapProvider; da tale classe può essere inizializzata con esito positivo la classe SiteMap.
Il provider predefinito della classe SiteMap è la classe XmlSiteMapProvider che utilizza un file di configurazione XML ovvero Web.sitemap. È tuttavia possibile scrivere il proprio oggetto SiteMapProvider e utilizzarlo per inizializzare la mappa del sito per il proprio sito. Per un esempio di un provider della mappa del sito personalizzato, vedere SiteMapProvider.
Viene specificata una configurazione della mappa del sito predefinita che gestisce la configurazione di spostamento nel sito. È possibile sottoporre a override questa configurazione nel file Web.config, se si sceglie di scrivere il proprio provider della mappa del sito.
La classe SiteMap offre solo membri statici per le prestazioni e l'accesso è possibile in qualsiasi momento in un determinato sito mediante un Web Form o un controllo server Web.