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

mar*_*ith 4 asp.net-mvc jquery yui

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

有没有人知道这样做的最好方法?

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

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

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

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

期待任何帮助

谢谢

tva*_*son 8

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

这是我使用的策略.

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