Header, Scripts e Metatag nelle Master Pages

Oggi sgironzolando nel forum di Asp.Net mi sono imbattuto in un post intesressante su come modificare i tag contenuti nell’head di una pagina basata su masterpages, nella discussione ho scovato questo interessantissimo articolo che analizza abbastanza in dettaglio alcuni trucchetti per lavorare meglio con le “pagine padrone”.

In esso si evidenziano principalmente 3 tecniche:

Via codice
La masterpage mette a disposizione un oggetto Header tramite il quale è possibile aggiungere controlli, per esempio si potrebbe inserire un metatag che faccia redirect:

Protected Sub Page_Load(ByVal sender As Object,ByVal e As System.EventArgs)
Dim metaTag As New HtmlMeta
metaTag.HttpEquiv = "Refresh"
metaTag.Content = "URL=http://www.OdeToCode.com"
Header.Controls.Add(metaTag)
End Sub

Oppure aggiungere un foglio di stile.

Protected Sub Page_Load(ByVal sender As Object, _
ByVal e As System.EventArgs)
Dim cssLink As New HtmlLink()
cssLink.href="~/styles.css"
cssLink.Attributes.Add("rel", "stylesheet")
cssLink.Attributes.Add("type", "text/css")
Header.Controls.Add(cssLink)
End Sub

Nota:Se si vuole utilizzare questo metodo non si deve cercare di infilare nel head del codice con la sintassi <%%> altrimenti si ottera solo una bella segnalazione di errore 🙂Header Place Holder
Questo metodo consiste nell’inserire un ContentPlaceHolder dentro il tag head è molto comodo e semplice da realizzare ma ha il difetto di causare un avviso di errore in visual studio in quanto il place holder che è un tag run at server si trova al di fuori della tag form.
Nella pagina di contuto è sufficente inserire i tag che si vogliono inserire nell’header.

Una cosa da tenere a mente è che inserendo nel place holder contenuto nella masterpage dei tag essi verrano usati come contenuto di default se non venisse specificato alcun tag nella pagina.

Creazione di una direttiva di pagina
Probabilmente questo è il metodo più elegante anche se meno flessibile degli altri e consiste nel creare una direttiva per il tag @page per esempio si potrebbe creare un attributo keywords per settere le parole chiave per i motori di ricerca, nell’articolo citato trovate una classe da cui far derivare la pagina che implementa proprio questa funzione.

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: