2012-03-01 60 views
18

可有人請解釋爲什麼我應該使用(或應該我?):爲什麼使用@ Url.Content

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

VS

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

感謝

回答

26

片段@Url.Content("/Scripts/SomeScript.js")絕對沒有,相當於/Scripts/SomeScript.js。如果您將Web應用程序部署到根文件夾下的虛擬目錄MyVirtualDirectory中,那麼對於以「〜」開頭的路徑,它會將url轉換爲正確的應用程序相對url,例如,@Url.Content("~/Scripts/SomeScript.js")可能會翻​​譯爲/MyVirtualDirectory/Scripts/SomeScript.js的網站。

+1

+1,與其他詞:'Url.Content'確保所有環節的工作無論該網站是在一個虛擬目錄或網站的根目錄。 – jgauffin 2012-03-01 12:33:45

+16

只是附加的註釋:'Url.Content'它是一個很大的幫助,到目前爲止,但在MVC4/Razor2.0它不再需要,我們現在可以使用:'SRC =「〜/腳本/ SomeScript.js」'。 – GolfWolf 2012-03-01 13:07:37

+0

此外,因爲默認的'type'是'文/ javascript'這是確定要離開它。對於所有當前的甚至是舊的瀏覽器都可以。 – Aaron 2014-08-29 06:02:56