这些javascript包含定义是否有区别

时间:2012-04-15 17:12:23

标签: c# javascript asp.net-mvc

两者都包含相同的文件。这两种方法都有效但是有利于一方的优势吗?

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")"></script> 

<script type="text/javascript" src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>

2 个答案:

答案 0 :(得分:3)

在第一种情况下,Url.Content将相对路径转换为应用程序绝对路径

在第二种情况下,字符串被视为文字,输出的链接将包含〜/。在大多数情况下,这将无法工作,因为它将在当前目录下查找名为〜的文件夹。

但是在asp.net mvc 4中,razor viewengine会自动看到〜/并为你做Url.Content。

http://www.davidhayden.me/blog/asp.net-mvc-4-the-new-tilde-slash-feature-in-razor-2

答案 1 :(得分:0)

我认为第一个工作量最少,因为编译器会找到@Url.Content并调用该函数。

最终结果是一样的,但我认为第一步还有2-3个步骤。所有这些都将在[毫秒]秒内发生。