C# 如何在不复制现有代码的情况下将现有DNN模块导入新模块?

C# 如何在不复制现有代码的情况下将现有DNN模块导入新模块?,c#,html,dotnetnuke,dnn9,C#,Html,Dotnetnuke,Dnn9,我想创建一个新的模块,该模块将在设置中有两个下拉菜单,从而获得已安装在DNN上的其他两个模块的模块ID 如何将这些模块“导入”到新模块中,而不必复制代码?我想隐藏这两个模块的视图,直到有人点击一个按钮,在弹出窗口中显示它们 更新 这是我想要实现的最初问题: 给你。获取门户模块的代码片段 var allModules = DesktopModuleController.GetPortalDesktopModules(PortalId); foreach (var module in allMod

我想创建一个新的模块,该模块将在设置中有两个下拉菜单,从而获得已安装在DNN上的其他两个模块的模块ID

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

更新

这是我想要实现的最初问题:
给你。获取门户模块的代码片段

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>";
}
var allModules=DesktopModuleController.GetPortalDesktopModules(PortalId);
foreach(所有模块中的var模块)
{
var moduleInfo=module.Value;//因为allModules是一个列表
Label1.Text+=moduleInfo.DesktopModuleID+“-”+moduleInfo.FriendlyName+”
”; }
不太确定你想要实现什么,但是。。。请注意,您可以通过DNN清单文件跨多个模块重用
ascx
文件,从而获得基于相同代码的不同模块。感谢您的提示。我在一个页面上有一个按钮,它会触发我的新模块弹出一个fancybox弹出窗口,现有模块显示在此窗口中。我会进一步调查。我发布了另一个问题,解释了我想要实现的目标,我同意@MarioVázquez。我不明白这个问题。但是,如果您想要一个代码片段来查找已安装的模块,我可以提供给您。@VDWWD这将非常有用。非常感谢。您可以让您的模块自行管理此行为,仅在单击按钮时显示。我已将此行为作为设置选项合并到几个模块中。从配置中,您可以选择是将其显示为弹出窗口还是常规模块。检查简单的一个,看看这是否是你需要的。