2012-03-01 11 views
18

Qualcuno può spiegare perché dovrei usare (o dovrei?):perché l'uso @ Url.Content

<script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script> 

vs

<script type="text/javascript" src="/Scripts/SomeScript.js"></script> 

Grazie

risposta

26

il frammento @Url.Content("/Scripts/SomeScript.js") non fa assolutamente nulla ed è equivalente a solo /Scripts/SomeScript.js.

Tuttavia, per i percorsi che iniziano con "~", si tradurrà l'url alla corretta, applicazione URL relativo, ad esempio, @Url.Content("~/Scripts/SomeScript.js") potrebbe tradurre in /MyVirtualDirectory/Scripts/SomeScript.js, se è stata distribuita l'applicazione web in una directory myVirtualDirectory virtuale sotto la cartella principale del sito web.

+1

+1, con altre parole: 'Url.Content' si assicura che tutti i collegamenti funzionino indipendentemente dal fatto che il sito si trovi in ​​una directory virtuale o nella radice del sito Web. – jgauffin

+16

Solo un'ulteriore nota: 'Url.Content' è stato di grande aiuto finora, ma in MVC4/Razor2.0 non è più necessario, ora possiamo usare:' src = "~/Scripts/SomeScript.js" '. – GolfWolf

+0

Inoltre, poiché il 'tipo' predefinito è' text/javascript', è OK lasciarlo fuori. Questo è OK per tutti i browser attuali e persino vecchi. – Aaron

Problemi correlati