2009-08-12 69 views
2

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

回答

3

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

TabModuleId应该用来存储数据是如何显示的(这样就可以显示在您的主页的模块的一种方式,和内部网页上的另一种方式)的信息,但数据本身应该每个的moduleId存储。

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

模块 ID表示实例的模块的,而标签模块 ID指示实例在特定网页上。甲模块定义确定是定义其控制显示在该实例,并且桌面模块包,当将模块添加到页面实例被创建模块定义的。桌面模块是你看到的主机 - >模块定义页面,并在控制面板中的模块下拉列表中,

+0

感谢您的答案,但我想用户将能够添加不同的图像为不同的实例模块,例如用户将添加两个模块实例到同一页面,他/她将上传不同的图像foreach。如果我使用ModuleID检索数据,它显示模块的每个实例相同的图像,但我不希望它。 – zer0w1dthspace 2009-08-12 14:20:21

+0

我在上面扩展了我的答案,以表明该页面上的每个实例的模块ID应该不同。 – bdukes 2009-08-12 15:01:07

+0

谢谢,我通过使用ModuleId而不是TabModuleID来解决它 – zer0w1dthspace 2009-08-13 08:56:52

相关问题