如何在DNN中添加“编辑页面”链接到模块?

时间:2012-03-14 20:46:34

标签: asp.net vb.net module dotnetnuke

我是DotNetNuke模块开发的新手。目前我正在为DNN 6开发一个联系地址簿模块,我想在用户登录时显示一个列表,并在管理部分(编辑视图中的左上角)添加,删除和更改联系人的一些设置。

我不知道如何实现这一目标,到目前为止,我创建了两个模块。一个用于显示所有联系人,另一个用于添加,编辑,更新和删除联系人。

我的“导师”给了我这个链接http://www.dotnetnuke.com/Resources/Wiki/Page/IActionable.aspx但我不知道如何实施它,因为我一周前开始使用asp.net ^^

任何人都能指出我的“For dummies”解决方案吗?

如何在dnn模块中添加特殊设置(使用vb)?

2 个答案:

答案 0 :(得分:0)

IActionable允许您向模块添加“命令”,因此基本上您可以添加一个可调用某些javascript或重定向到某个URL的actionable。这个具有正确参数的url可以在执行时加载一些dnn用户控件来显示例如你的设置。

您应该下载visual studio DNN模板。有一个用于构建模块的模板,它有助于创建一个功能完整的模块,其中包含可操作的命令和用户控制的设置。

答案 1 :(得分:0)

我认为最好的方法是查看一个现有模块以及它们如何实现它。您可以下载模块模板here。这个适用于C#开发人员,但可以帮助您弄清楚工作原理。模块开发的良好开端也位于here,我强烈建议阅读它,因为它包含了如何开发模块以正常工作的想法。

对于IActionable,请查看View.ascx.cs(实现接口)中的示例,在模块操作列表中添加了“编辑模块”操作:

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

要向“管理”菜单添加更多操作,只需将新操作添加到Actions集合中,如上例所示。

特别是在你的情况下,不需要创建2个模块,一切都可以在一个模块中处理,具有多个模块控件(view.ascx,edit.ascx,your_name.ascx,settings.ascx),它们都是基于如上所述的行动。

关于模块的设置,这也在上面的模块教程中进行了解释。 Settings.ascx是一种方法,只需将自己的控件添加到Settings.ascx控件,并在YourModuleNameSettingsBase.cs类中实现这些设置的保存/加载。模块模板确实包含一些注释掉的方法,这些方法正在满足您的需求。