2

我正在为 DNN 开发幻灯片放映模块,我已经完成了该模块,但我遇到了问题。我使用模块的 TabModuleID 属性来加载每个模块实例的图像,通过这个用户可以添加具有不同图片的多个模块实例。这是问题所在,当我勾选模块设置中的显示所有页面复选框时,它会显示模块在每个页面上但由于 tabModuleID 它不加载图像,它为每个模块实例提供不同的 tabModuleID,因此模块无法加载图像,它需要为每个模块实例上传图像。有没有办法实现这一点?(对不起英语不好)

4

1 回答 1

3

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

TabModuleId 应该用于存储有关数据如何显示的信息(以便您可以在主页上以一种方式显示模块,在内部页面上以另一种方式显示模块),但数据本身应按 ModuleId 存储。

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

Module ID 表示模块的实例Tab Module ID 表示特定页面上的实例。模块定义决定了在该实例中显示哪些控件的定义,而桌面模块模块定义的包,当您将模块添加到页面时,会为其创建实例。桌面模块是您在主机->模块定义页面上看到的,在控制面板的模块下拉列表中,

于 2009-08-12T14:04:11.207 回答