我正在尝试确定构建我的应用程序的最佳方式,这样我就不会到处乱扔 javascript。
我有一个带有视图的 ASP.NET MVC 应用程序,该应用程序使用 Michael Kennedy 的方法来加载 sllooooowwwww 局部视图,以提高异步局部视图的 ASP.NET MVC 网站的感知性能。部分视图本身正在渲染一个DataTables网格(它有自己的 CSS/JS 文件),以及网格本身的基于 Javascript 的配置(列格式、排序默认值、编辑器配置等)。
我的问题是什么是构建和维护所有这些的干净方法?我在这里涉及至少 3 种脚本(CSS 和/或 JS):
- 加载局部视图的主视图上的 JS。
- 数据表的 CSS/JS 文件
- 局部视图内的 JS 运行
$(document).ready()
并配置该特定网格。
我可以控制(在主视图上)使用 Razor 的@section
脚本/样式(上面的第 1 项)呈现 CSS/JS 的位置。但是,局部视图无法利用该@section
功能,因此局部视图中的任何 CSS/JS 都会被注入到页面中间。这对我来说并不好,因为这样渲染的 HTML 看起来很讨厌,CSS/JS 显示在主视图的中间。我知道当 CSS/JS 都存储在外部文件中时,像Cassette这样的东西可以帮助解决第 2 项。
但是第 3 条我有 CSS/JS 的那部分视图非常具体呢?它可能像为视图附加单击事件处理程序或配置 JQuery 插件一样小,但这是否意味着我应该将其分离到另一个 JS 文件中?如果不需要,我不喜欢将这些东西分开,尤其是每个局部视图的网格配置。
就我而言,我有一个应用程序,其中包含多个视图,这些视图包含渲染网格的这些部分视图,并且没有一个网格包含相同的列集 - 因此每个网格的 JS 配置在$(document).ready()
.