Temi e profili utente

di: Angelo Ranucci     22 Novembre 2006

Come abbiamo visto nella guida ASP.NET 2.0, temi e skin servono per definire l'interfaccia utente di un'applicazione ASP.NET 2.0. Il nome che diamo ad un tema corrisponde al nome della cartella che lo ospita, che è contenuta nella cartella speciale App_Themes. Poiché questa è una relazione uno ad uno, possiamo affermare per semplicità che i temi sono cartelle contenute nella cartella App_Themes.

Ogni tema è costituito da uno o più file skin, cioè file con estensione .skin, che contengono la definizione del look di uno o più controlli server ASP.NET 2.0.

Per impostare un tema in una pagina web possiamo agire nel pannello delle Properties della direttiva <Page> impostano la proprietà Theme. Se non disponiamo di un ambiente di sviluppo, come il VWD, che ci consente di accedere al pannello delle Properties, possiamo scrivere a mano Theme="NomeTema" nella direttiva <Page> della pagina.

Un altra possibilità per impostare un tema è farlo nel file di configurazione dell'applicazione inserendo la sezione <pages theme = "NomeTema" /> all'interno di <system.web>. In questo caso però tutte le pagine dell'applicazione utilizzeranno quel tema a meno che non venga reimpostato sulla singola direttiva <Page> della pagina.

Nella Guida abbiamo anche visto come si può impostare un tema dinamicamente, facendo in modo che l'utente lo possa scegliere da una lista di possibilità.

Quando un utente di un sito web accede per la prima volta e sceglie un tema da applicare, sarebbe bello, che il sito si ricordasse il tema che ha scelto e, al prossimo accesso, glielo applicasse in automatico.

Per fare questo possiamo utilizzare l'oggetto Profile ed immagazzinare il tema scelto in una sua proprietà.

Realizziamo ora un esempio partendo da quello realizzato nell'articolo "Convertire utenti anonimi in utenti dell'applicazione" che possiamo scaricare da qui.

Rinominiamo l'esempio scaricato: "TemaSulProfilo".

La prima cosa da fare è aggiungere la proprietà Tema alla sezione <profile> del Web.config. Specifichiamo inoltre che il Tema venga memorizzato anche per gli utenti anonimi:

Listato 1. Proprietà Tema sul Web.config

<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings/>
<system.web>
  <compilation debug="true"/>
  <authentication mode="Forms"/>
  <anonymousIdentification enabled="true"/>
  <profile>
    <properties>
      <add name="Nome"/>
      <add name="Cognome"/>
      <add name="Tema" allowanonymous="true"/>
      <add name="UltimoCollegamento" type="System.DateTime"/>
      <add name="Carrello" allowAnonymous="true" type="Carrello" serializeAs="Xml"/>
      <group name="Indirizzo">
        <add name="Via"/>
        <add name="Numero"/>
        <add name="Nazione"/>
        <add name="CAP"/>
      </group>
    </properties>
  </profile>
</system.web>
</configuration>

Nel nostro esempio, quando l'utente anonimo andrà sulla pagina dei prodotti, potrà scegliere il Tema da applicare alla pagina, oltre agli articoli da acquistare. 

Guide ASP.Net

Guida Windows Azure Code Snippets

Le migliori pratiche per far girare le applicazioni "in the cloud",...

Guida ASP.NET MVC Best Practices

Un workflow dettagliato e ricco di suggerimenti pratici per...

Guida ASP.NET Starter Kit

Un modo semplice per imparare ad utilizzare le tecnologie Microsoft...

Altre guide

Newsletter @Microsoft Dev

Ogni giovedì, direttamente nella tua e-mail: articoli, guide, tutorial e script ASP, ASP.Net, SQL server e IIS.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Progettazione database

11 Maggio 2012 a Milano
Disponibilità: 6 Posti

Amministratore di Reti Windows Server 2008

11 Giugno 2012 a Milano
Disponibilità: 5 Posti

Nessun corso previsto