我想知道@Scripts.Render("~/something.js")
和<script type="text/javascript" src="/something.js"></script>
之间的区别。
是的,我已经搜索了这个主题,但没有成功。我认为如果存在@Scripts.Render
不是偶然的。
我的意思是:当我应该使用其中一个或为什么时。
答案 0 :(得分:20)
Scripts.Render用于捆绑,如果将多个脚本捆绑在一起并为其命名,则可以使用此语句将它们全部一起渲染。
在调试模式下,它们将呈现多个标记,在生产中,您可以部署单个捆绑脚本。在web.config中将调试模式设置为true或false:
<system.web>
<compilation debug="true" ... />
Here更多的是关于捆绑。
答案 1 :(得分:2)
从功能上讲,它们在您的示例中都具有相同的结果。 Scripts.Render
是 System.Web.Optimization 命名空间的一部分,该命名空间包含在Microsoft.AspNet.Web.Optimization NuGet package中。因此,Scripts.Render
也支持JavaScript捆绑包(请参阅http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification)。