ASP.NET MVC - Url.Content()的用例是什么?

时间:2011-06-07 14:55:09

标签: .net asp.net asp.net-mvc

对于我的生活,我不能想到任何需要这个功能。 MSDN称它“将虚拟(相对)路径转换为应用程序绝对路径。”我的问题是,为什么你首先使用相对路径?

为了说明,假设您在Scripts / awesome.js中有一个文件。你可以通过

来实现这个目标
<script src="@Url.Content("~/Scripts/awesome.js")"></script>

但你可以直接使用路径直接找到它:

<script src="/Scripts/awesome.js"></script>

对于您可能需要引用的任何图像,C​​SS或任何其他静态文件也是如此。谁能告诉我一个需要这个功能的案例?

修改

感谢您的回答。我之所以看到这个,是因为当我尝试对不同深度的路径进行重写时,这就是最突破的。见ASP.NET MVC UrlHelper.GenerateUrl exception: "Cannot use a leading .. to exit above the top directory"

1 个答案:

答案 0 :(得分:4)

如果您的应用程序作为子应用程序运行(在文件夹中运行该站点),则可能有http://server.com/app/..之类的路径。在这种情况下,/Scripts/...的绝对路径将失败。