代码之家  ›  专栏  ›  技术社区  ›  zer0w1dthspace

在每个页面上显示具有DotNetNuke中相同内容的模块

  •  2
  • zer0w1dthspace  · 技术社区  · 15 年前

    我正在为dnn开发一个幻灯片放映模块,我已经完成了该模块,但有一个问题。我使用module s的tabmoduleid属性加载每个模块实例的图像,用户可以添加多个具有不同图片的模块实例。这是一个问题,当我在模块设置中勾选“显示所有页面”复选框时,它会在每个页面上显示模块,但由于tabmoduleid的原因,它不会加载图像,它会给出不同的TA。bmoduleid为模块的每个实例,因此模块无法加载图像,需要为每个模块实例上载图像。是否有实现此目的的方法?(抱歉英语不好)

    1 回复  |  直到 12 年前
        1
  •  3
  •   bdukes Jon Skeet    15 年前

    使用moduleid属性而不是tabmoduleid来存储数据。当您选择“在所有页面上显示”选项(或手动添加引用现有模块的模块实例)时,模块ID在实例之间共享。

    TabModuleID应用于存储有关数据显示方式的信息(这样,您可以在主页上以某种方式显示模块,在内部页面上以另一种方式显示模块),但数据本身应按ModuleID存储。

    模块的每个新实例都有一个新的模块ID。也就是说,每次使用“控制面板”向页面添加模块时(不要使用“添加现有模块”对话框),该实例都有自己的模块ID。实际上,每页只能有一个特定moduleid的实例。同一页上不能有两个具有相同moduleid但不同tabmoduleid的实例。

    模块 ID表示 实例 一个模块,而 选项卡模块 ID指示该实例 在特定页面上 . 一 模块定义 确定是 定义 在该实例中显示的控件,以及 桌面模块 模块定义包 将模块添加到页面时为其创建的实例。桌面模块是在“主机模块定义”页和“控制面板”中的模块下拉列表中看到的,