Creando un sito in ASP capita spesso di voler, o di dover, gestire dinamicamente lo stile delle pagine, ad esempio per creare template customizzabili a discrezione dell’utente, e cosi via.
La soluzione ideale, quando si lavora con i CSS, sempre quella di utilizzare un foglio di stile esterno, ovvero un file con estensione .css, il quale è a tutti gli effetti un file di testo e, come tale, non è manovrabile incorporando al suo interno codice ASP che lo dinamizzi.
La soluzione è dunque quella di creare un figlio di stile con estensione .asp e di modificarne le intestazioni, rendendolo intelligibile come un foglio di stile agli occhi del browser, ma resta un file ASP e come tale, manovrabile a proprio piacimento.
Includeremo dunque il nostro foglio di stile ASP, che chiameremo style.asp, nelle pagine del sito attraverso la seguente inclusione HTML dedicata ai CSS:
<link rel="stylesheet" type="text/css" href="style.asp">
Le casistiche di utilizzo del sistema che fino ad ora abbiamo introdotto, e che tra poco metteremo in pratica, sono moltissime. E’ possibile creare dinamicamente le porzioni utili di codice CSS reperendo i valori da un database, da un XML, da un array, oppure effettuando delle condizioni in funzione di cookie, querystring, e cosi via.
Trattandosi di un esempio a scopo prettamente didattico, ci limiteremo a costruire la struttura del file ASP che fungerà da foglio di stile, semplicemente impostando delle costanti (che, ricordo, in ASP essere “variabili di sola lettura”) che conterranno i valori che dinamizzano la struttura del CSS.
Segue il codice del file style.asp:
<%@LANGUAGE = VBScript%>
<%
Response.ContentType = "text/css"
Dim sfondo_pagina, colore_testo
sfondo_pagina = "#FFFFFF"
colore_testo = "#000000"
Dim dimensioni_paragrafo, carattere_paragrafo
dimensioni_paragrafo = "13px"
carattere_paragrafo = "Tahoma"
%>
body
{
background: <%=sfondo_pagina%>;
color: <%=colore_testo%>;
}
p
{
font-size: <%=dimensioni_paragrafo%>;
font-family: <%=carattere_paragrafo%>;
}
La fase fondamentale del semplicissimo script che abbiamo creato per gestire i CSS del sito con ASP è la seguente:
Response.ContentType = "text/css"
E’ l’intestazione ASP con la quale andiamo a modificare il MIME-Type della pagina, impostandolo su text/css.
L’output CSS che otterremo sarà il seguente:
body
{
background: #FFFFFF;
color: #000000;
}
p
{
font-size: 13px;
font-family: Tahoma;
}
