【问题标题】:Keeping jquery/javascript separate from asp.net MVC views?将 jquery/javascript 与 asp.net MVC 视图分开?
【发布时间】:2009-10-24 12:06:36
【问题描述】:

我正在尝试找到将我的脚本(即 jquery/javascript)与我在 asp.net MVC 中的视图 (html) 分开的最佳方式...

有人知道最好的方法吗?

我在我的视图中看到了很多代码异味...

我过去使用过 JavascriptMVC,它做得非常好,也许将它们结合起来是个好主意,但考虑到我不会使用 javascriptmvc 的视图部分,也许它不是正确的方向..

我真的很喜欢一些想法和帮助,让脚本远离视图等的最佳方式。

我正在使用一些外部模块,例如 YUI 和 jquery,所以如果我需要使用另一个概念/层 - 我没有发现问题

期待任何帮助

谢谢

【问题讨论】:

  • 将 jscripts 放在单独的文件夹中,然后在 .master 页面中引用它们不符合您的需求?
  • this answer 中的一些其他选项。

标签: jquery asp.net-mvc yui


【解决方案1】:

我们可能(也可能不会)在如何将 javascript 与标记分开方面存在哲学差异。在我看来,只要页面上没有嵌入标记本身,就可以在页面上使用 javascript。如果可能,它应该在它自己的文件中关闭,但是当它直接引用特定于视图的元素时,我更喜欢将它放在视图文件本身中。

这是我使用的策略。

  1. 将通用代码重构为插件。将插件放在单独的 JS 文件中,并在需要的地方包含它们。
  2. 为脚本包含和代码使用单独的 ContentPlaceHolder (CPH),就在母版页的结束正文标记内。这使 JS 在页面上保持功能分离,并确保它在页面底部加载。
  3. 把普通的 JS 包括在母版页中 CPH 脚本的正上方。
  4. 在母版页中放置每个页面通用的代码,但在通用包含之后包含特定于页面的引用。
  5. 尽可能避免使用实时处理程序等将 JS 置于局部视图中。
  6. 在 $(function() { } 内包装所有代码,包括和函数定义除外(准备好文档)。
  7. 尽可能使用通用代码的内容分发网络 (CDN) 版本。

【讨论】:

    【解决方案2】:

    如果您将现有代码的代码 sn-p 粘贴到问题中,会更容易为您提供帮助。查看this blog post,了解如何将 javascript 与 html 分开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-26
      • 2011-03-31
      • 2011-07-12
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多