页面中缺少DotNetNuke模块

时间:2009-03-17 14:06:42

标签: dotnetnuke dotnetnuke-module

我在nuke 4.8.4网站上开发的nuke模块有一个奇怪的问题。

我有一个模块,只是拒绝允许将另一个模块放在同一窗格中。只要它是窗格中的最后一个模块,所有内容都可以正常加载,但如果将其移动到其他模块之上,则其他模块将无法加载。

我原本以为模块的标记中有些奇怪,导致它层叠在其他模块上 - 但是当我在页面上查看源代码时,其他模块甚至不存在于源代码中。

之前有没有人见过这个问题,如果是的话,你是怎么解决这个问题的?

编辑: 我们已经构建了十几个模块 - 并且ONE模块在我的机器上执行此操作,但是一个不同的模块在另一个开发人员的机器上执行此操作。在每台机器上,为一个开发器而中断的模块可以正常工作。

我们注意到的另一个有趣的事情是,在其中一个模块位于页面上的情况下,GetTabModules将为一个模块返回2行,两个模块都具有相同的ModuleID。

3 个答案:

答案 0 :(得分:1)

这有时会发生在我们身上,特别是在较旧的网站上,特别是如果历史悠久,可能还有旧的/已删除模块的回收站。似乎我们一直试图将模块UP或TOP移动,与其他模块相比它不会移动。

如果您查看数据库并且可以看到涉及的Module_Tab记录与页面上的其他模块具有相同的排序顺序号,或者它具有空值并添加+1或 - ,则很容易看到该问题。 1到NULL仍然返回NULL!

因此,对我们来说,答案总是要执行以下步骤来清除您的问题(这可以在不访问数据库的情况下完成):

  1. 清空回收站,然后返回页面
  2. 将所有模块移出他们所在的窗格...所以如果它们都在内容窗格中,请将它们移动到左侧或页脚窗格。
  3. 然后,按照您要在页面上看到它们的顺序,将每一个添加回内容窗格,一次一个。
  4. 此过程使其排序顺序清晰/无关紧要,然后重新添加每个模块,启动一个新的排序编号,从1到2等,之后,所有模块都可以正常使用正常的向上/向下移动操作。

答案 1 :(得分:0)

听起来你的模块代码正在炸毁DNN。我将运行带有调试器的站点,并逐步执行实例化模块的代码。

答案 2 :(得分:0)

我们卸载了&重新安装了有问题的模块,它们现在工作正常。一定是安装过程中的某种错误。我将升级到4.9.2,看看我们是否遇到过类似的问题。