1
2
我的公司正在使用MVCContrib portable areas将代码打包到一个DLL中,用于可重用的“组件” 每个组件都可以通过扩展方法调用。例如:
在这些组件中,有一种方法可以注册多个作为嵌入式资源的css/js文件。我们的主站点将提取资源文件,并在提供服务之前对其进行缩小+合并。 组件还将注册文档期间调用的任何页面事件。JQuery的OnReady事件。这允许每个组件都是小型站点,具有独立的功能和自己的路线、模型和视图。 在整个网站上,所有组件都提供相同的zip-up JS。一个原因是文件将被缓存,另一个原因是消除了确定页面上有哪些组件及其所需资源的复杂性。 如果您想了解有关此设置的更多信息,请告诉我。 |
2
0
我用一个布局页面管理这个问题,该页面有一个名为jsCode的部分。
然后,当我需要它时,我会在内容页中创建:
您还可以创建一个助手,它可以输出特定页面所需的脚本,并以这种方式对其进行封装,如下所示:
然后我的内容页(假设我想要两个功能)如下所示:
产生了以下结果:
现在,如果你想变得超级高效(尽管我想到了其他词),你可以给函数传递一个JSON数组或字典,甚至是一个字符串数组,其中包含你想要使用的脚本的名称,或者要导入的JavaScript,或者其他什么,只需对助手进行一次调用。我认为,无论如何加载helper函数的返回值,单独的调用都更容易维护,因为您可以一目了然地看到在给定页面上使用的脚本,消除或添加一个脚本只是简单的一行更改,而不是更改数组的一个元素。 和往常一样,你的里程可能会有所不同,但我在WebMatrix Beta 2中基于这段代码运行了这个示例,没有任何问题。 丽莎·Z·摩根 http://www.lairhaven.com |