ASPcenter.net

24 febbraio 2010

CSS dinamici con ASP

Archiviato in: Grafica e Immagini — Tag: — lukeonweb @ 23:37

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;
}

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

ASPcenter.net è il blog italiano su ASP, ASP.Net, VB.Net, C# e Visual Studio - Funziona con WordPress