c# - 这些 javascript include 定义有区别吗

标签 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>

最佳答案

在第一种情况下,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

关于c# - 这些 javascript include 定义有区别吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10164230/

相关文章:

javascript - 按钮打破 react 形式

javascript - setTimeout 在耗时内将 +1 添加到 for 循环 "i"

c# - 通用列表问题

c# - 解耦类 C#

c# - 如何在 C# 模型而不是 Controller 中将 bool 值转换为字符串

javascript - 我的方法不是很 DRY

c# - 在 ASP.NET MVC 中,当 Model.isvalid 为 false 时如何将验证消息重定向并显示回局部 View

c# - PhoneGap 开发 ASP.NET MVC 应用程序

asp.net-mvc - 如何将用户从ASP.MVC 3操作筛选器重定向到另一个Controller Action?

C# .Net 库在 Linux 上找不到依赖项