动态更改应用程序

时间:2015-05-06 06:53:38

标签: javascript jquery html css asp.net-mvc

在我的Asp.net MVC 5应用程序中,我目前有三个模块,每个模块都有自己的脚本文件和样式表文件,还有一些常见的脚本和样式表文件,这些文件可供所有模块使用,甚至可以使用整个申请。

目前我有一个主div,我用开放模块用jquery ajax替换该div的整个html并且它工作正常,但是这样我的模块状态不持久意味着打开第二个模块后如果我打开先前打开模块将从它的初始状态打开。

现在我想要保持每个打开的模块的状态。在我的脑海中的一种方法是我制作三个不同的空div并将每个相应模块的html替换为它自己的div,如果任何模块的div不为空,那么我只是显示div并隐藏剩余的div但是这样我认为打开另一个模块时,不会删除各个模块的脚本和css文件引用。

请指导我如何才能实现只有当前打开的模块脚本和css文件在页面中被引用,剩下的文件引用被删除,每个模块的html都是持久的。

提前致谢。 :)

2 个答案:

答案 0 :(得分:0)

您可以在css中使用相应的scriptsrender个文件main div为您的三个模块制作三个视图,这样您就可以渲染视图了在你main div。您可以在common文件中添加css scriptsmain div

答案 1 :(得分:0)

我自己找到了解决方案并且工作正常......

  1. 首先,我在主视图中创建了三个空div,并打开任何模块,我将ajax调用发送到控制器,将打开模块的局部视图的html和此html放在相应的空div中....

  2. 我在所有三个模块中创建了一个具有类相同类的div(例如。" scripts-styles-section"并且我已将每个模块的所有脚本和样式放在每个模块各自的div ....

  3. 当我的模块第一次打开时,请阅读打开模块的html" scripts-styles-section" div和存储在公共脚本文件中的变量(可供所有模块和整个应用程序使用....

  4. 当任何其他模块打开时,我清除" scripts-styles-section"的html。先前打开的模块中的div ....

  5. 再次对新开放模块执行第3点。

  6. 当先前打开的模块再次打开时,我将存储在变量中的脚本和样式放到" scripts-styles-section"它的div。并且对当前打开的模块执行第4点。