保持jquery / javascript与asp.net MVC视图分开?

时间:2009-10-24 12:06:36

标签: jquery asp.net-mvc yui

我试图找到最好的方法来保持我的脚本,即jQuery / javascript与我在asp.net MVC中的视图(html)分开......

有没有人知道这样做的最佳方式?

我在视图中看到很多代码味道......

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

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

我正在使用许多外部模块,如YUI和jquery,所以如果我需要使用另一个概念/层 - 我没有看到问题

期待任何帮助

Thanksa

2 个答案:

答案 0 :(得分:8)

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

这是我使用的策略。

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

答案 1 :(得分:2)

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