在 DotnetNuke 中的每个页面上显示具有相同内容的模块
我正在为 DNN 开发幻灯片模块,我已经完成了该模块,但遇到了问题。 我使用模块的 TabModuleID 属性来加载模块的每个实例的图像,通过该用户可以添加具有不同图片的多个模块实例。这是问题,当我在模块设置中勾选“显示所有页面”复选框时,它会显示该模块在每个页面上,但它不会加载图像,因为 tabModuleID,它为每个模块实例提供不同的 tabModuleID,因此模块无法加载图像,它需要为每个模块实例上传图像。有没有办法实现这一点?(抱歉对于英语不好的人来说)
I am developing a slide show module for DNN, I have completed the module but I have a problem. I use modules' TabModuleID property to load the images for every instance of module, by this user can add multiple instance of modules with different pictures.Here is the problem, when I tick the show all pages checkbox in module's settings, it shows the module on every page but it does not load images because of tabModuleID, it gives different tabModuleID for every instance of module so the module cannot load the images, it needs to upload images for every module instance.Is there a way to achieve this ?(sorry for bad English)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 ModuleId 属性而不是 TabModuleId 来存储数据。 当您选择“在所有页面上显示”选项(或手动添加作为对现有模块的引用的模块实例)时,ModuleId 在实例之间共享。
TabModuleId 应用于存储有关如何显示数据的信息(以便您可以在主页上以一种方式显示模块,在内部页面上以另一种方式显示模块),但数据本身应按 ModuleId 存储。
模块的每个新实例都有一个新的 ModuleId。 也就是说,每次使用控制面板向页面添加模块(并且不使用“添加现有模块”对话框)时,该实例都有自己的 ModuleId。 事实上,每一页只能有一个特定 ModuleId 的实例。 同一页面上不能有两个具有相同 ModuleId 但具有不同 TabModuleId 的实例。
模块 ID 表示模块的实例,而选项卡模块 ID 表示特定页面上的实例 。 模块定义确定在该实例中显示哪些控件的定义,桌面模块是模块定义的包 当您将模块添加到页面时为其创建实例。 桌面模块是您在“主机”->“模块定义”页面以及控制面板的模块下拉列表中看到的内容,
Use the ModuleId property instead of TabModuleId to store data. ModuleId is shared between the instances when you select the "Show on all pages" option (or manually add a module instance that is a reference to an existing module).
TabModuleId should be used to store information about how the data is displayed (so that you can show a module one way on your home page, and another way on an interior page), but the data itself should be stored per ModuleId.
Each new instance of the module has a new ModuleId. That is, every time you use the control panel to add a module to the page (and don't use the Add Existing Module dialog), that instance has its own ModuleId. In fact, there can only be one instance of a particular ModuleId per page. You cannot have two instances that have the same ModuleId but different TabModuleIds on the same page.
A Module ID indicates an instance of a module, while the Tab Module ID indicates that instance on a particular page. A Module Definition determines is the definition of which controls are displayed in that instance, and a Desktop Module is the package of Module Definitions for which instances are created when you add a module to a page. Desktop Modules are what you see on the Host->Module Definitions page, and in the drop down list of modules in the control panel,