Logo UGIdotNET

Css Dinamici

A volte può essere utile stabilire dalla classe codebehind il css della pagina aspx. Il motivo principale per fare questo è di solito quello di usare CSS diversi per Netscape o per IE ad esempio. Questo breve codice fa esattamente questo.
Per inserire il link al nostro CSS usiamo un metodo dell'oggetto Page chiamato RegisterClientScriptBlock. Page.RegisterClientScriptBlock è un metodo interessante che permette di aggiungere uno script alla pagina. In realtà aggiunge una stringa di testo e quindi nella stringa possiamo metterci quello che vogliamo.

private void Page_Load(object sender, System.EventArgs e)
{
  //Verifichiamo il browser
  bool isIE = this.Request.Browser.Browser.IndexOf("IE")>=0;

  //Controlliamo che lo script non sia già stato registrato
  if(!this.IsClientScriptBlockRegistered("myCSS"))
  {
    //Se è Explorer mandiamo il css IE.css
    if(isIE)
    {
      this.RegisterClientScriptBlock("myCSS","<LINK href='styles/ie.css' type='text/css' rel='stylesheet'>");
    }
    else
    {
      //altrimenti mandiamo un generico mycss.css
      this.RegisterClientScriptBlock("myCSS","<LINK href='styles/mycss.css' type='text/css' rel='stylesheet'>");
    }
  }
}

Autore: Emmanuele De Andreis
Data: 07 novembre 2002
Ultimo aggiornamento: 23 luglio 2004
Categorie: 

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185