C# DNN模块开发添加动作

C# DNN Module Developement Add Action

您好,我正在尝试添加一个名为 "Add New Item" 的操作,其中默认值为 "Edit Module"。我正在创建一个名为 AddNewItem 的新 ascx 控件,并将其添加到菜单中:

ModuleActionCollection Actions = new ModuleActionCollection();
Actions.Add(GetNextActionID(), 
            Localization.GetString("EditModule", this.LocalResourceFile),
            "", "", "", EditUrl(), false, 
            SecurityAccessLevel.Edit, true, false);
return Actions;

但我不知道如何从该菜单导航到该 ascx 文件?我在这里和网上看了一些相同的问题,但仍然无法解决。如果有人一步一步地给我一个 link 或只是让我完成整个过程,我会很高兴。

您还需要添加 "ModuleDefinition" 才能使其正常工作。您可以通过 Host/Extensions 页面手动执行此操作,这是我通常在开发环境中执行的操作,但要在生产环境中执行此操作,您应该将其添加到您的 .DNN 文件中,如下所示:

          <moduleControl>
            <controlKey>KeyToCall</controlKey>
  <controlSrc>DesktopModules/ModuleName/ControlName.ascx</controlSrc>
            <supportsPartialRendering>False</supportsPartialRendering>
            <controlTitle>Manage Content</controlTitle>
            <controlType>Edit</controlType>
            <iconFile />
            <helpUrl />
            <viewOrder>0</viewOrder>
          </moduleControl>

为此构建 "URL" 时,您可以使用 EditUrl("KeyTocall")。

您可以根据需要添加任意数量的不同 "controls"。

在你的开发环境中,你可以添加它,在RELEASE模式下重新编译,然后通过host/extensions页面再次安装模块,你的开发环境也会发生变化。