Accedere ai fogli di stile utilizzando la classe HtmlHead di ASP.NET 2.0

di Marco Leoncini, in UserScript, ASP.NET 2.0,

Una delle novità introdotte in ASP.NET 2.0 rende possibile la registrazione di fogli di stile integrati, utilizzando l'elemento Style posizionato all'interno della porzione Head del documento.
Questo era già possibile nella precedente versione, ricorrendo ad alcuni "stratagemmi" il più semplice dei quali consisteva nell'inserire un Literal e "riempirlo" con il foglio di stile, sfruttando però un approccio noioso da implementare, vista la necessità di ricordasi di copiare ogni volta il Literal.

La classe Page, tramite la proprietà Header, permette di recuperare un riferimento al nuovo controllo HtmlHead, contenuto nel namespace System.Web.UI.HtmlControls.HtmlHead.
Tramite HtmlHead potremo impostare i seguenti campi: titolo, fogli di stile, fogli di stile collegati e metadati.
La proprietà HtmlHead.StyleSheet (ereditata dall'interfaccia IPageHeader), restituisce un oggetto del tipo IStyleSheet, tramite il quale, utilizzando il metodo RegisterStyle, potremo registrare il foglio di stile nella pagina e infine associarlo a più WebControl.

//creo lo style e imposto le proprietà
Style s = new Style();
s.BorderColor = Color.Red;
s.BorderStyle = BorderStyle.Dotted;
s.BorderWidth = 3;

// lo registro
this.Page.Header.StyleSheet.RegisterStyle(s, null);

// lo associo a più WebControl
this.TextBox1.ControlStyle.CopyFrom(s);
this.TextBox2.ControlStyle.CopyFrom(s);

Il risultato sarà qualcosa del genere:

<style type="text/css">
  .aspnet_s0 { border-color:Red;border-width:3px;border-style:Dotted; }
</style>

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi