【问题标题】:How can I import an existing DNN module into a new module without copying the existing code?如何在不复制现有代码的情况下将现有 DNN 模块导入新模块?
【发布时间】:2019-01-30 06:12:54
【问题描述】:

我想创建一个 new 模块,该模块在设置中有两个下拉菜单,它将获取已安装在 DNN 上的其他两个模块的 moduleID .

如何在不复制代码的情况下将这些模块“导入”到新模块中?我想隐藏这两个模块的视图,直到有人单击按钮以在弹出窗口中显示它们。

更新

这是我想要实现的原始问题: How to show a DNN module in a Fancybox pop up?

【问题讨论】:

  • 不太确定您要实现什么,但是...请注意,您可以通过 DNN 清单文件跨多个模块重用 ascx 文件,从而获得基于相同的不同模块代码。
  • 感谢您的提示。我在一个页面上有一个按钮,它会触发我的新模块以弹出一个花式框弹出窗口,其中现有模块显示在此窗口中。我会进一步调查。我发布了另一个问题,解释了我想要实现的目标stackoverflow.com/questions/54422453/…
  • 我同意@MarioVázquez。我不明白这个问题。但是如果你想让 sn-p 找到已安装的模块,我可以给你。
  • @VDWWD 这将非常有帮助。非常感谢。
  • 你可以让你的模块自己管理这个行为,只有当按钮被点击时才会显示。我已将此行为合并到几个模块中作为设置选项。从配置中,您可以选择是否应将它们显示为弹出窗口或常规模块。检查this simple one 看看这是否是您所需要的。

标签: c# html dotnetnuke dnn9


【解决方案1】:

给你。获取 Portal 模块的 sn-p。

var allModules = DesktopModuleController.GetPortalDesktopModules(PortalId);

foreach (var module in allModules)
{
    var moduleInfo = module.Value; //because allModules is a List<KeyValuePair>

    Label1.Text += moduleInfo.DesktopModuleID + " - " + moduleInfo.FriendlyName + "<br>";
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-11-10
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    相关资源
    最近更新 更多