【问题标题】:DotNetNuke module missing from page页面中缺少 DotNetNuke 模块
【发布时间】:2016-03-23 05:59:16
【问题描述】:

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

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

我最初认为模块的标记很奇怪,导致它与其他模块重叠 - 但是当我在页面上查看源代码时,源代码中甚至不存在其他模块。

以前有没有人见过这个问题,如果有,你是如何解决这个问题的?

编辑: 我们已经构建了十几个模块 - 一个模块在我的机器上执行此操作,但另一个模块在另一位开发人员的机器上执行此操作。在每台机器上,为一个开发者损坏的模块对另一个开发者来说可以正常工作。

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

【问题讨论】:

  • 听起来像一个错误,4.9+ 会发生这种情况吗?
  • 我认为这可能是 4.8 中的某种错误 - 有关详细信息,请参阅下面的答案。

标签: dotnetnuke dotnetnuke-module


【解决方案1】:

这有时会发生在我们身上,尤其是在较旧的网站上,尤其是在历史悠久的情况下,可能是回收箱中装满了旧的/已删除的模块。看起来我们一直在尝试将模块向上或向上移动,但与其他模块相比它不会移动。

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

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

  1. 清空回收站,然后返回页面
  2. 将所有模块移出它们所在的窗格...因此,如果它们都在内容窗格中,请将它们移到左侧或页脚窗格中。
  3. 然后,按照您希望在页面上看到它们的顺序,将它们添加回内容窗格,一次一个。

此过程使它们的排序顺序变得清晰/无关,然后重新添加每个模块会开始一个从 1 到 2 的新排序编号,等等,之后,所有模块将在正常的向上/向下移动操作下正常工作。

【讨论】:

    【解决方案2】:

    听起来您的模块代码正在炸毁 DNN。我会在附加调试器的情况下运行该站点,并逐步执行实例化模块的代码。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-07
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        • 2021-10-02
        • 2015-01-08
        相关资源
        最近更新 更多