DNN模块开发系列文章(4)——与模块开发相关的类

DNN做为一个功能强大的网站框架,它提供了提供了很多有用的类来为开发模块提供方便,以下列出几个和模块开发紧密相关的类:

PortalModuleBase

说明:模块基类。所有的模块都是通过该类继承而来。这个类定义了DNN模块所要用到的方法和属性。

命名空间:DotNetNuke.Entities.Modules

文件位置:Components\Modules\PortalModuleBase.vb

常用方法:

EditUrl:根据模块定义的ControlKey获取访问相应控件的Url。我们要调用在模块定义中定义的控件都可以通过该方法实现。

重载列表

Public Function EditUrl() As String;默认调用ControlKey=Edit的控件,不传递参数,一般用于新建。

Public Function EditUrl(ByVal ControlKey As String) As String;调用指定ControlKey的控件。

Public Function EditUrl(ByVal KeyName As String, ByVal KeyValue As String) As String;调用ControlKey=Edit的控件,可传递一个名为KeyName值为KeyValue的参数。如编辑文章时,我们就可以通过EditUrl("ArticleID",ArticleID)的方法调用编辑文章的控件

Public Function EditUrl(ByVal KeyName As String, ByVal KeyValue As String, ByVal ControlKey As String) As String;调用指定ControlKey的控件,并传递名为KeyName值为KeyValue的参数。比如:在查看文章时,我们定义一个ControlKey=Show的控件,然后通过EditUrl("ArticleID",ArticleID,"Show")的方法就可以调用文章查看控件了.

Public Function EditUrl(ByVal KeyName As String, ByVal KeyValue As String, ByVal ControlKey As String, ByVal ParamArray AdditionalParameters() As String) As String;当有多个参数需要传入控件的话,我们就需要用这个方法。比如:我们在查看控件的时候需要,在传入一个A参数,那么我们可以通过EditUrl("ArticleID",ArticleID,"Show","A=Avalue"),如果还要传递更多参数,可以通过先定义一个string数组,然后将需要传递的参数,存到这个数组中。

如:

Dim params(2) As String

params(0) = "A=Avalue"

params(1) = "B=Bvalue"

strUrl = EditUrl("ArticleID",ArticleID,"Show",params)

属性:

Actions;模块所具有的操作集合,可以通过实现IActionable接口来定义模块操作,如:添加一个“新建文章”的操作。这些操作将会显示到模块的以下位置:

时间: 2024-07-28 23:12:13

DNN模块开发系列文章(4)——与模块开发相关的类的相关文章

DNN模块开发系列文章(1)——分析设计

序 DNN做为一个优秀的门户网站框架,可以通过安装各种功能模块的方式扩充应用.正是通过这一优秀的功能,DNN框架可以实现:文章管理,图片管理,文档管理,论坛,博客,商店,调查,FAQ等等各种各样满足实际需求的模块.通过这个强大的框架支持,我们可以很容易的实现这些模块.比如:权限控制,多语言支持,多数据库支持,搜索,聚合,皮肤等功能,我都可以很容易的通过框架实现.如果是在平时,光是实现这些基础功能我们就需要花去大量的时间.现在有了DNN框架的支持,我们就可以集中精力投入到模块的业务逻辑和流程上,从

DNN模块开发系列文章(7)——用CodeSmith Templates进行编码

在利用CodeSmith Templates进行代码编写之前,我们应该先完成数据表的设计.因为CodeSmith Templates是根据数据表的字段来生成相应代码的. 首先根据<DNN模块开发系列文章(1)--分析设计>中对MyCompany_Article文章信息表的定义在SQL Server数据库中进行设计.记住要设计好主外键,特别是与Modules表的关联. 其次,我们还可以将程序所用到存储过程先编写好.在编写存储过程时,我们可以利用CodeSmith Templates中Stored

DNN模块开发系列文章(6)——DNN中的通用控件(下)

TextEditor: 开发系列文章(6)--DNN中的通用控件(下)-通用语言模块">简介: 富文本编辑器控件.功能就不用多说了吧,大家都经常用到的.DNN利用Providers模式可以很方便的集成多种富文本编辑器.据我所知就有:FreeTextBox,FCKEditor,WebHtmlEditor,CuteEditor.大家可以通过配置web.config就可以很容易的选择使用一种了,具体的配置方法在每一个富文本编辑器Providers中应该都有详细的说明. 位置:controls\T

DNN模块开发系列文章(3)——在DNN中添加模块定义

添加模块定义 完成了以上几篇文章介绍的工作后,我们就可以把模块添加到DNN中了.虽然现在这个模块还不能运行,但是先添加进去就可以一边开发一边看到它的效果了. 一.用host(主机管理员)的身份登陆,进入"Host --> Module Definitions",点击"Add New Module Definition"添加新的模块定义. 二.输入以下模块信息后点击"Update"保存新模块. Module Name(模块名称):MyComp

DNN模块开发系列文章(2)——建立模块开发项目

建立模块开发项目 开发DNN模块可以通过两种开发环境来进行: 一.在整个DNN解决方案下建立模块开发项目. 优点:可以方便的引用DNN组件,参考其他模块的实现方式,可以随时通过"转到定义"的操作查看DNN中该方法的定义,调试起来也比较容易. 缺点:速度慢.打开项目和编译项目都要费大量时间. 二.用单独的方式建立模块解决方案. 优缺点正好和第一种相对,不过在实际开发中速度是关键,下面我就单独讲讲我在以单独方式建立模块开发解决方案中的一些心得. 建立单独的解决方案进行模块开发需要解决三个问

Android通用框架设计与完整电商APP开发系列文章

作者|傅猿猿 责编|Javen205 有福利 有福利 有福利 鸣谢 感谢@傅猿猿 邀请写此系列文章 Android通用框架设计与完整电商APP开发 课程介绍 [[导学视频](http://szv1.mukewang.com/59562937e520e5f24d8b45f6/H.mp4 )] [课程详细介绍] 以下是部分截图 介绍与自我介绍 作者:网名@傅猿猿 陕西 西安市 全栈工程师 能文能武(评论区留言有机会获取个人微信畅聊人生) 点兵软件CTO 联合创始人 擅长Android Linux P

DNN模块开发系列文章(5)——DNN中的通用控件(上)

DNN中的通用控件主要在DotNetNuke.UI命名空间下,而与模块开发紧密相关的都在DotNetNuke.UI.UserControls中,它们是开发具有DNN风格模块不可缺少的元素. LabelControl 文章(5)--DNN中的通用控件(上)-通用语言模块"> 简介: 标签控件.这个应该是用的最多的一个控件了.主要起到在输入框前起提示作用,如果点击问号图标开可以给出详细的说明. 位置: controls\LabelControl.ascx 属性: ControlName:对应控

[转贴]Castle 开发系列文章

注:今天遇到以前的一个同事,要求指定用Castle来开发,他没用过这个,线上问到我,其实我也没用过这东西,只能在园子里找到这篇文章,转贴在这里,以后有空的话,再去研究一下 原文: http://www.cnblogs.com/illele/archive/2008/06/20/1227076.html Castle是针对.NET平台的一个开源项目,从数据访问框架ORM到IOC容器,再到WEB层的MVC框架.AOP,基本包括了整个开发过程中的所有东西,为我们快速的构建企业级的应用程序提供了很好的服

web高性能开发系列随笔 BearRui(AK-47)版_相关技巧

1. HTTP服务器. 2.性能测试工具推荐 3. 图片篇. 4. 如何加载JS,JS应该放在什么位置. 5. 为什么要减少请求数,如何减少请求数. 6. 减少请求,响应的数据量. 7.JS.CSS的合并.压缩.缓存管理 8.页面呈现.重绘.回流. 9.该如何加载google-analytics(或其他第三方)的JS. [声明] 转载请注明出处:http://www.cnblogs.com/BearsTaR/. 禁止商用!