DNN 模块插件开发全程详解 (一)
2006-11-22 14:35
447 查看
我今天刚开发了一个DNN插件,也是我第一次开发DNN插件,我把开发的过程描述下来,对于精通DNN的希望多多指点,对于希望涉足DNN的起到抛砖引玉的作用.
本示例以一张基本的表Department的CRUD来说明用C#制作DNN4.3插件的全过程
1:首先创建Department表
(ModuleID,DepartmentID,DepartmentName,CreatedByUser,CreatedDate),
DepartmentID是主键
通过ModuleID建立Department表和Modules表的关系(ModuleID字段是实现模块插件的关键)
创建对应的CRUD存储过程
2:创建部门模块的内核部分
2.1: 创建VS2005的类库项目
2.2 添加DotNetNuke.dll 引用
2.3 添加DepartmentInfo实体类
using System;
using System.Configuration;
using System.Data;
namespace ISS.DNN.Modules.Department
2.4 创建DataProvider抽象类并添加一下代码
using System;
using DotNetNuke;
using System.Data;
using DotNetNuke.Framework;
namespace ISS.DNN.Modules.Department
2.5 创建业务控制类DepartmentController
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Xml;
using System.Web;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Services.Search;
namespace ISS.DNN.Modules.Department
2.6 创建UI 部门浏览控件ViewDepartment,这个类一定要继承PortalModuleBase,该类是DNN模块的基类也是模块插件机制的关键,提供了很多默认的实现,该类又实现了一个接口IActionable,这个接口指明该控件又哪些操作行为,本类指明了可以对Department进行添加操作
Actions.Add(this.GetNextActionID(), Localization.GetString(ModuleActionType.AddContent, this.LocalResourceFile), ModuleActionType.AddContent, "", "", this.EditUrl(), false, SecurityAccessLevel.Edit, true, false);
namespace ISS.DNN.Modules.Department
2.7 创建UI 部门编辑控件EditDepartment(实现CUD),该类也要继承PortalModuleBase
namespace ISS.DNN.Modules.Department
2
2.8 创建模块设置控件Settings,该类一定要继承ModuleSettingsBase
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Services.Localization;
using DotNetNuke.Services.Exceptions;
namespace ISS.DNN.Modules.Department
OK,现在已经完成了系统的关键开发了,编译项目生成ISS.DNN.Modules.Department.dll,下一篇介绍SqlDataProvider的开发,UI界面的开发,以及安装包的制作!
本示例以一张基本的表Department的CRUD来说明用C#制作DNN4.3插件的全过程
1:首先创建Department表
(ModuleID,DepartmentID,DepartmentName,CreatedByUser,CreatedDate),
DepartmentID是主键
通过ModuleID建立Department表和Modules表的关系(ModuleID字段是实现模块插件的关键)
创建对应的CRUD存储过程
2:创建部门模块的内核部分
2.1: 创建VS2005的类库项目
2.2 添加DotNetNuke.dll 引用
2.3 添加DepartmentInfo实体类
using System;
using System.Configuration;
using System.Data;
namespace ISS.DNN.Modules.Department
2.4 创建DataProvider抽象类并添加一下代码
using System;
using DotNetNuke;
using System.Data;
using DotNetNuke.Framework;
namespace ISS.DNN.Modules.Department
2.5 创建业务控制类DepartmentController
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Xml;
using System.Web;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Entities.Modules;
using DotNetNuke.Services.Search;
namespace ISS.DNN.Modules.Department
2.6 创建UI 部门浏览控件ViewDepartment,这个类一定要继承PortalModuleBase,该类是DNN模块的基类也是模块插件机制的关键,提供了很多默认的实现,该类又实现了一个接口IActionable,这个接口指明该控件又哪些操作行为,本类指明了可以对Department进行添加操作
Actions.Add(this.GetNextActionID(), Localization.GetString(ModuleActionType.AddContent, this.LocalResourceFile), ModuleActionType.AddContent, "", "", this.EditUrl(), false, SecurityAccessLevel.Edit, true, false);
namespace ISS.DNN.Modules.Department
2.7 创建UI 部门编辑控件EditDepartment(实现CUD),该类也要继承PortalModuleBase
namespace ISS.DNN.Modules.Department
2
2.8 创建模块设置控件Settings,该类一定要继承ModuleSettingsBase
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DotNetNuke;
using DotNetNuke.Common;
using DotNetNuke.Common.Utilities;
using DotNetNuke.Services.Localization;
using DotNetNuke.Services.Exceptions;
namespace ISS.DNN.Modules.Department
OK,现在已经完成了系统的关键开发了,编译项目生成ISS.DNN.Modules.Department.dll,下一篇介绍SqlDataProvider的开发,UI界面的开发,以及安装包的制作!
相关文章推荐
- joomla1.5模块开发和插件开发详解带实例
- 学习DNN开发模块插件的几条主线
- joomla1.5模块开发和插件开发详解带实例
- Android Studio 插件开发详解三:翻译插件实战
- NodeJS 模块开发及发布详解分享
- [js高手之路]jquery插件开发实战-选项卡详解
- Linux设备驱动开发详解-第4章(一)-hello模块编译过程
- Linux设备驱动开发详解-第4章(二)-模块参数
- Redis中modules扩展模块的开发使用详解
- openfire插件开发调试详解[图文]
- 为DNN开发变换图片模块的总结
- DNN模块开发之利器篇:七种武器
- Netbeans 插件模块(Plugin Module)的开发
- python开发技术详解---第五章:模块与函数
- Vue.js 插件开发详解
- Vue.js 插件开发详解
- 以下列出几个和模块开发紧密相关的类: DNN控件开发
- jQuery插件开发的两种方法及$.fn.extend的详解
- 详解eclipse插件findbugs新规则的开发过程
- [多图+详解]Android开发环境搭建全程演示(jdk+eclip+android sdk)