我是DotNetNuke模块开发的新手。目前我正在为DNN 6开发一个联系地址簿模块,我想在用户登录时显示一个列表,并在管理部分(编辑视图中的左上角)添加,删除和更改联系人的一些设置。
我不知道如何实现这一目标,到目前为止,我创建了两个模块。一个用于显示所有联系人,另一个用于添加,编辑,更新和删除联系人。
我的“导师”给了我这个链接http://www.dotnetnuke.com/Resources/Wiki/Page/IActionable.aspx但我不知道如何实施它,因为我一周前开始使用asp.net ^^
任何人都能指出我的“For dummies”解决方案吗?
如何在dnn模块中添加特殊设置(使用vb)?
答案 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类中实现这些设置的保存/加载。模块模板确实包含一些注释掉的方法,这些方法正在满足您的需求。