为什么要使用@ Url.Content(“〜/ blah-blah-blah”)?

我无法理解我可以从ASP.NET MVC中的Url.Content()方法获得的Url.Content() 。 例如,你看到src='@Url.Content("~/Contents/Scripts/jQuery.js")' 。 我为什么要用它? 有什么理由可以使用它? 使用像src='/scripts/jquery.js这样简单的旧的简单引用有什么好处,优点等等?

更新:根据答案,我想知道是否有任何其他原因使用它,而不是处理虚拟文件夹? 因为我还没有看到使用过多的虚拟应用程序(当然这并不意味着它没有被使用太多)。

映射虚拟path是唯一的目的。 如果你不需要映射他们,并确定你的应用程序或它的文件夹不会坐在其他应用程序,那么它不会为您提供任何用途。

从文档说明,如果您不使用〜不pipe怎样结果都不变:“备注如果指定的内容path不是以波形号(〜)字符开头的,则此方法将不会返回contentPath。

通常,您的Web应用程序发布为:www.yoursite.com/。 〜字符匹配site /的根。

但是,如果您使用虚拟目录www.yoursite.com/mywebapp/发布站点,则〜字符将匹配“/ mywebapp /”。 使用“/”字符的硬编码Url会导致错误的页面引用。

如果您的应用程序根path不是您的服务器的根path,这是有用的。 Url.Content(“〜/”)返回应用程序的根文件夹。