Around and About .NET World

Il blog di Marco Minerva
posts - 1671, comments - 2232, trackbacks - 2135

My Links

News

Contattami su Live Messenger:


MCTS: Windows, Web, Distributed Applications & SQL Server

MCPD: Enterprise Applications

Tag Cloud

Archives

Post Categories

Links

Pagine master, file Javascript e immagini di sfondo

Credo che il 99% dei siti sviluppati con ASP .NET, a partire dalla versione 2.0, facciano uso delle pagine Master. Tra le altre cose, esse possono essere utilizzate per aggiungere il riferimento a file Javascript (*.js) in modo da renderli automaticamente disponibili a tutte le pagine. Il problema di questo approccio è che il percorso del file Javascript (quello indicato nell'attributo src del tag script) è relativo alla posizione della Master page: ad esempio, se la master page è nella root del sito e il file javascript si trova nella directory Js, il tag script avrà la seguente forma:

<script src="js/functions.js" type="text/javascript" language="javascript"></script>

Tuttavia, se il sito contiene file ASPX in altre directory, questo percorso non è più valido, poiché la loro posizione relativa rispetto al file javascript è diverso (ad esempio, dovrebbe essere del tipo "../js/functions"). Purtroppo con il tag script non si può usare il carattere speciale ~ per indicare la root del sito. La soluzione al problema consiste nell'usare il metodo ResolveUrl per determinare dinamicamente il percorso corretto del file:

<script src="<%= ResolveUrl("~/js/functions.js")%>" type="text/javascript" language="javascript"></script>

Così facendo, il runtime di ASP .NET di volta in volta inserirà nel tag script il percorso del file corretto, in base alla posizione della pagina ASPX.

Lo stesso "trucco" permette di indicare un'immagine di sfondo nel tag body della Master page, in modo che sia visualizzata correttamente da tutte le altre pagine del sito, indipendentemente dalla loro posizione.

Technorati Tags: , ,

Print | posted on lunedì 1 dicembre 2008 03:13 | Filed Under [ ASP .NET ]

Feedback

Gravatar

# re: Pagine master, file Javascript e immagini di sfondo

Non ho provato direttamente con gli UserControl, ma il metodo ResolveUrl è esposto dalla classe Control, quindi penso che tu possa usarlo anche con questo tipo di oggetti
01/12/2008 11:26 | Marco Minerva
Comments have been closed on this topic.

Powered by:
Powered By Subtext Powered By ASP.NET