why use @Url.Content

.net, asp.net-mvc-3

Solution

The fragment `@Url.Content("/Scripts/SomeScript.js")` does absolutely nothing, and is equivalent to just `/Scripts/SomeScript.js`.

However, for paths starting with "~", it will translate the url to the correct, application relative url, e.g., `@Url.Content("~/Scripts/SomeScript.js")` could translate to `/MyVirtualDirectory/Scripts/SomeScript.js`, if you deployed your web application to a virtual directory MyVirtualDirectory below the root folder of the web site.

Problem

Can someone please explain why I should use (or should I?): ``` <script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script> ``` vs ``` <script type="text/javascript" src="/Scripts/SomeScript.js"></script> ``` Thanks

Original source