Condividi tramite


Cenni preliminari sugli spostamenti all'interno dei siti ASP.NET

Aggiornamento: novembre 2007

Per consentire agli utenti di visitare il sito in modo semplice e coerente, è possibile utilizzare le funzionalità di spostamento all'interno dei siti ASP.NET. Il progressivo aumento delle dimensioni del sito e l'eventuale riposizionamento delle pagine possono rendere difficile la gestione di tutti i collegamenti. Il sistema di spostamento all'interno dei siti ASP.NET consente di archiviare i collegamenti relativi a ogni pagina in una posizione centrale, nonché di eseguire il rendering di questi collegamenti in elenchi o menu di spostamento in ogni pagina, tramite l'inclusione di uno specifico controllo server Web.

Per creare una soluzione di spostamento coerente e facilmente gestibile, è possibile avvalersi del sistema di spostamento all'interno dei siti ASP.NET, che offre le seguenti funzionalità:

  • **Mappe del sito   **È possibile utilizzare una mappa per descrivere la struttura logica del sito, quindi gestire gli spostamenti tra le varie pagine modificando la mappa del sito in base all'aggiunta o alla rimozione delle pagine, senza che sia necessario cambiare i collegamenti ipertestuali in tutte le pagine.

  • **Controlli ASP.NET   **È possibile utilizzare i controlli ASP.NET per visualizzare menu di spostamento in ogni pagina Web. I menu di spostamento si basano sulla mappa del sito.

  • **Controllo a livello di codice   **È possibile utilizzare il sistema di spostamento all'interno dei siti ASP.NET a livello di codice per creare controlli di spostamento personalizzati o modificare la posizione delle informazioni visualizzate in un menu di spostamento.

  • **Regole di accesso   **È possibile configurare regole di accesso per visualizzare o nascondere un collegamento nel menu di spostamento.

  • **Provider personalizzati di mappe del sito   **È possibile creare provider personalizzati di mappe del sito che consentono di utilizzare il back-end della mappa del sito, ad esempio un database in cui sono archiviate le informazioni sui collegamenti, nonché integrare il provider personalizzato nel sistema di spostamento all'interno dei siti ASP.NET.

Funzionamento degli spostamenti all'interno dei siti

Quando si utilizza il sistema di spostamento all'interno dei siti ASP.NET, è necessario descrivere il layout del sito in forma gerarchica. Nell'archivio di un computer in linea fittizio può ad esempio essere contenuto un sito composto da otto pagine, disposte nel modo seguente.

Home
   Products
      Hardware
      Software
   Services
      Training
      Consulting
      Support

Per utilizzare il sistema di spostamento all'interno dei siti, creare innanzitutto una mappa o una rappresentazione del sito. La gerarchia del sito può essere descritta in un file XML., ma sono comunque disponibili anche altre opzioni. Per ulteriori informazioni e un esempio, vedere Mappe del sito ASP.NET.

Una volta creata una mappa del sito, è possibile visualizzare la struttura di spostamento in una pagina ASP.NET utilizzando un controllo di spostamento all'interno dei siti. Per un esempio, vedere Procedura: aggiungere l'esplorazione semplice di siti.

Processo di caricamento della mappa del sito

Il provider predefinito di mappa del sito ASP.NET carica i dati relativi alla mappa come documento XML e li memorizza nella cache come dati statici all'avvio dell'applicazione. In fase di caricamento un file di mappa del sito di dimensioni eccessive può impegnare una quantità consistente di memoria e CPU. Per mantenere aggiornati i dati relativi agli spostamenti, le funzionalità di spostamento all'interno dei siti ASP.NET si basano sulle notifiche del file. Quando un file di mappa del sito viene modificato, ASP.NET carica di nuovo i dati della mappa del sito. Accertarsi di configurare il software antivirus in modo che non modifichi i file di mappa del sito. Per ulteriori informazioni, vedere Protezione del sistema di spostamento all'interno dei siti ASP.NET.

Controlli di spostamento all'interno dei siti

La creazione di una mappa che riflette la struttura del sito è solo una delle operazioni necessarie per l'utilizzo del sistema di spostamento ASP.NET. Per completare la procedura, è necessario visualizzare la struttura di spostamento nelle pagine ASP.NET, così da permettere agli utenti di visitare l'intero sito con facilità. Nelle pagine del sito la struttura di spostamento può essere facilmente costruita utilizzando i seguenti controlli di spostamento all'interno dei siti ASP.NET:

  • SiteMapPath   Questo controllo visualizza un percorso di spostamento che indica all'utente la posizione della pagina corrente e contiene i collegamenti alle pagine più in alto della gerarchia del sito, fino alla home page. Sono disponibili diverse opzioni per la personalizzazione dell'aspetto dei collegamenti.

  • TreeView   Questo controllo visualizza una struttura o un menu che l'utente può scorrere per accedere a pagine diverse all'interno del sito. Un nodo in cui sono presenti nodi figlio può essere espanso o compresso semplicemente facendo clic su di esso.

  • Menu   Questo controllo visualizza un menu espandibile che l'utente può scorrere per accedere a pagine diverse all'interno del sito. Un nodo in cui sono presenti nodi figlio può essere espanso semplicemente posizionando il cursore sopra il menu.

Se si aggiunge un controllo SiteMapPath alla pagina Training dall'archivio del computer in linea descritto nell'esempio precedente, il controllo SiteMapPath genererà una struttura simile alla seguente, in cui le pagine Home e Services sono visualizzate come collegamenti ipertestuali:

Home > Services > Training

Il controllo SiteMapPath può essere utilizzato per definire il percorso di spostamento nel sito senza scrivere codice né associare dati in modo esplicito. Il controllo legge ed esegue il rendering delle informazioni relative alla mappa del sito in modo automatico. Se necessario, il controllo SiteMapPath può essere personalizzando intervenendo a livello di codice. Per un esempio, vedere Procedura: modificare a livello di codice i nodi della mappa del sito in memoria.

Il controllo SiteMapPath consente agli utenti di spostarsi all'indietro, ovvero dalla pagina corrente a quelle più in alto nella gerarchia del sito. Il controllo SiteMapPath tuttavia non consente di spostarsi in avanti, ovvero dalla pagina corrente a un'altra pagina più in basso nella gerarchia. Il controllo SiteMapPath può essere utilizzato in applicazioni basate su newsgroup o aree di discussione per consentire gli utenti di conoscere il percorso dell'articolo visualizzato.

Mediante il controllo TreeView o Menu, l'utente può espandere i nodi e spostarsi direttamente su una pagina specifica. Diversamente da SiteMapPath, questi controlli non leggono direttamente la mappa del sito. È comunque possibile aggiungere alla pagina un controllo SiteMapDataSource, che legge la mappa del sito, quindi associare il controllo TreeView o Menu al controllo SiteMapDataSource, in modo che venga eseguito il rendering della mappa del sito nella pagina. Il controllo TreeView visualizzerà una struttura simile alla seguente:

- Home

   - Services

      + Training

Nota:

Per visualizzare il controllo SiteMapPath, TreeView o Menu in tutte le pagine del sito in modo semplice, creare una pagina master e aggiungervi i controlli. Per ulteriori informazioni, vedere Informazioni generali sulle pagine master ASP.NET.

API di spostamento all'interno dei siti

Per aggiungere alle pagine i percorsi di spostamento nel sito con una quantità minima o nulla di codice, è possibile utilizzare i controlli di spostamento. L'operazione può tuttavia essere eseguita anche a livello di codice. Quando l'applicazione Web viene eseguita, ASP.NET espone un oggetto SiteMap che riflette la struttura della mappa del sito. Tutti i membri dell'oggetto SiteMap sono statici. L'oggetto SiteMap espone a sua volta un insieme di oggetti SiteMapNode in cui sono contenute le proprietà per ogni nodo nella mappa. Quando si utilizza il controllo SiteMapPath, questo opera congiuntamente agli oggetti SiteMap e SiteMapNode per eseguire il rendering dei collegamenti appropriati automaticamente.

È possibile avvalersi degli oggetti SiteMap, SiteMapNode e SiteMapProvider nel codice per scorrere la struttura della mappa del sito o creare un controllo personalizzato per visualizzare i dati della mappa del sito. Non è consentito scrivere nella mappa del sito, ma è possibile modificarne i nodi nell'istanza dell'oggetto. Per ulteriori informazioni, vedere Procedura: modificare a livello di codice i nodi della mappa del sito in memoria o Procedura: enumerare i nodi della mappa del sito a livello di codice.

Relazioni tra i componenti di spostamento all'interno dei siti

Nella figura seguente sono illustrate le relazioni tra i componenti di spostamento all'interno dei siti ASP.NET.

Vedere anche

Attività

Procedura: enumerare i nodi della mappa del sito a livello di codice

Concetti

Mappe del sito ASP.NET

Protezione del sistema di spostamento all'interno dei siti ASP.NET

Protezione dell'accesso ai dati

Altre risorse

Protezione delle applicazioni ASP.NET in ambienti host