在ASP.NET MVC视图页面中放置jQuery代码的位置?

时间:2009-08-06 09:37:19

标签: jquery asp.net-mvc

我刚开始学习jQuery + ASP.NET MVC。无论我阅读有关jQuery的任何教程,他们都建议所有jQuery代码都应该在head元素中。

现在在ASP.NET MVC项目中,我有一个负责head元素的母版页。在其他视图页面中,我获得了绘制body元素的内容占位符。

我现在很困惑。我应该忽略将jQuery保留在head元素中的建议,还是有办法在每个视图页面中编写不同的jQuery代码?

4 个答案:

答案 0 :(得分:9)

将js保存在外部.js文件中。这样他们就会被缓存。

答案 1 :(得分:8)

您可以在母版页中添加更多内容占位符,然后您的内容页面可以使用自己的JQuery填充

所以在你的母版页的头部做了类似的事情:

<asp:ContentPlaceHolder ID="Javascript" runat="server" />

然后在您的视图页面

<asp:Content ID="Content1" ContentPlaceHolderID="Javsacript" runat="server">
    //js here
</asp:Content>

那就是说,你应该考虑将你的javsascript包含在单独的JS文件中并包含它们,以便分开你的担忧。

答案 2 :(得分:2)

  • 重构jQuery插件的常见内容
  • 将相关内容放在一起,将不相关的内容放在自己的js-files中
  • 在您编写的所有js文件上运行jslint
  • 在开发过程中(在您的主人身上)有一堆<script src=... - 标签
  • 在部署到测试服务器之前,将所有js文件缩小并合并为一个大文件,这样它就会被缓存,并且你没有得到那么多的http调用。
  • 如果您的某个js文件很大且只有特定页面需要,请从大文件中排除该文件。

答案 3 :(得分:0)

我将它们放在外部并使用<script type="text/javascript" src='<%= Url.Content(~/scriptlocation) %> />方法来引用它们