“@ Script.Render”和“<script>”之间有什么区别?</script>

时间:2013-07-17 13:57:05

标签: c# asp.net razor

我想知道@Scripts.Render("~/something.js")<script type="text/javascript" src="/something.js"></script>之间的区别。

是的,我已经搜索了这个主题,但没有成功。我认为如果存在@Scripts.Render不是偶然的。

更多详情

我的意思是:当我应该使用其中一个或为什么时。

2 个答案:

答案 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)。