Ieri lavorando con i temi di ASP.NET 2.0 mi sono imbattuto nell'esigenza di impostare una immagine all'interno della pagina mediante il file skin del tema. La cosa di per se banale, ha molte diverse soluzioni. Quella che di primo acchito viene in mente è di usare un controllo impostandone lo SkinId e in seguito referenziarlo nel file della skin. Questo però è un approccio che può andare bene solo se le immagini nella pagina sono decisamente poche, altrimenti il numero di controlli web presenti che il runtime dovrà elaborare aumenta vertiginosamente. Alla fine ho scelto una soluzione, basata sull'uso dei css che mi è parsa degna di essere segnalata perchè nel mio caso mi ha esonerato dall'appensantire eccessivamente la pagina. L'idea è di usare un div al posto di un tag img e di impostarne il background via css.

<div id="myImage"></div>

Poi nel file css è sufficiente impostare il background del div come segue

div#myImage
{
    background-imageurl(images/my_image.gif);
    width:25px;
    height:25px;
}

In questo modo una immagine delle dimensioni di 25x25 pixels il cui vantaggio è di aver specificato l'url in uno stile. In questo modo è possibile usare un css all'interno di un tema di ASP.NET e soprattutto di evitare l'uso di innumerevoli webcontrol. Si tratta di un accorgimento banale, ma il risultato è degno di nota, anche poichè questa tecnica è valida con tutti i browser esistenti.

powered by IMHO 1.3


per leggere il post originale o inviare un commento visita il seguente indirizzo: ASP.NET 2.0: Legare le immagini ad un tema