现在的位置: 首页 > 综合 > 正文

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

2013年07月07日 ⁄ 综合 ⁄ 共 3542字 ⁄ 字号 评论关闭

TextEditor:

简介:
富文本编辑器控件。功能就不用多说了吧,大家都经常用到的。DNN利用Providers模式可以很方便的集成多种富文本编辑器。据我所知就有:FreeTextBox,FCKEditor,WebHtmlEditor,CuteEditor。大家可以通过配置web.config就可以很容易的选择使用一种了,具体的配置方法在每一个富文本编辑器Providers中应该都有详细的说明。
位置:controls\TextEditor.ascx
属性:
ChooseMode:启用/禁用用户在一般文本编辑器和富文本编辑器之间切换,默认为启用
ChooseRender:是否启用在一般文本编辑器模式下决定文本内容呈现方式,默认为启用
DefaultMode:默认的编辑器模式,默认为富文本方式("RICH" or "BASIC")
HtmlEncode:是否将内容进行HTML编码(就是转义一些字符,如:"<"、">"等等)
Mode:当前编辑器的模式,是富文本方式还是一般模式("RICH" or "BASIC")
Text:控件的文本内容
Height:控件高度
Width:控件宽度
TextRenderMode:设置一般文本编辑器模式下文本呈现方式{Raw | HTML | Text}
Raw:自然方式,原来文本时什么样就是什么样显示。
HTML :将文本格式转化为HTML格式(就是:将所有回车符替换为"",将换行符替换为"<br />)
Text:将HTML格式转化为文本格式(首先替换掉全部的空白字符如制表符,再将全部的<br>标签替换为换行符)
RichText:富文本编辑器Provider

使用方法:
1、首先在需要应用的页面中注册这个控件,如:
<%@ Register TagPrefix="dnn" TagName="TextEditor" Src="~/controls/TextEditor.ascx"%>

2、在需要用到位置写下如下的代码,如:

<dnn:texteditor id="teContent" runat="server" height="400" width="500"></dnn:texteditor>

3、在后台代码中声明该控件和使用这个控件

Protected WithEvents teContent As TextEditor

teContent.Text = objArticle.Content
objArticle.Content 
= teContent.Text

注:如果要显示富文本的内容需要用Server.HtmlDecode()进行解码。

相关可用的富文本编辑器:
让DNN也用CuteEditor
DNN中又一个好用的富文本编辑器(FCKEditor)
LionHtmlEditorProvider(v1.0.3)

UrlControl

简介:
Url选择控件。可以选择一个网站内部的网页(Tab),可以选择一个网站内部文件或者输入一个外部网站的Url。在选择文件方式中,这个控件还有上传文件的功能(需要在文件管理系统中为用户设置权限)。而且这个控件还具有设置是否记录链接点击情况的功能,可以和URLTrackingControl(链接点击情况显示控件)配合使用。
位置:controls\UrlControl.ascx
属性:
FileFilter:文件类型。可以选择和上传得类型,如:jpg,gif,txt
LocalResourceFile:该控件对应的语言资源文件。这个不用设置,默认就可以了。
Log:获取和设置该链接是否记录点击日志。及记录详细的访问人访问时间等。
ModuleID:设置链接属于的模块。这个不需要专门的设置。这个控件会默认获取当前所在模块的ID。
NewWindow:获取和设置该链接是否通过新窗口打开。
Required:获取和设置该链接是否必须填写。默认:True
ShowDatabase:是否显示保存在数据库中的文件。默认:True
ShowFiles:是否显示添加文件选择。默认:True
ShowLog:是否显示记录日志选择。默认:True
ShowNewWindow:是否显示新窗口打开链接选择。默认:False
ShowNone:是否显示无。默认:False。
ShowSecure:是否显示保存在文件系统中的文件。默认:True
ShowTabs:是否显示网站内部页面选择。默认:True
ShowTrack:是否显示设置记录链接点击次数选择。默认:True
ShowUpLoad:是否显示文件上传。默认:True
ShowUrls:是否显示 默认:True
ShowUsers:是否显示添加一个查看用户信息的链接。默认:False
Track:获取和设置是否记录链接的点击次数。
Url:获取和设置链接值
UrlType:获取和设置当前链接类型。N:无;U:外部链接;T:内部链接;F:文件链接;M:用户信息链接
Width:控件宽度。

使用方法:
1、首先在需要应用的页面中注册这个控件,如:
<%@ Register TagPrefix="Portal" TagName="URL" Src="~/controls/URLControl.ascx" %>

2、在需要用到位置写下如下的代码,如:

<portal:url id="ctlURL" runat="server" width="250" shownewwindow="True" showusers="True" />

3、在后台代码中声明该控件和使用这个控件

'声明链接控件
Protected WithEvents ctlURL As UI.UserControls.UrlControl

'设置获取链接
ctlURL.Url = objLink.Url
objLink.Url 
= ctlURL.Url

'记录链接的跟踪设置(只有写了一下语句链接跟踪才会起效)
'
DNN中用UrlTracking表来记录链接设置,UrlController是框架提供的类
Dim objUrls As New UrlController
objUrls.UpdateUrl(PortalId, ctlURL.Url, ctlURL.UrlType, ctlURL.Log, ctlURL.Track, ModuleId, ctlURL.NewWindow)

4、如果要使用链接的跟踪设置,在显示链接是还需做一些处理,具体可参见Links模块的做法。

URLTrackingControl

简介:
链接点击情况跟踪显示控件。可以显示链接的点击次数,点击时间、用户等明细。
位置:controls\URLTrackingControl.ascx
属性:
FormattedURL:设置已经格式化的链接。一般不设置,系统会自动格式化被跟踪的链接。
LocalResourceFile:该控件对应的语言资源文件。这个不用设置,默认就可以了。
ModuleID:设置需要显示那个模块的链接跟踪情况
TrackingURL:获取跟踪链接访问链接。只有通过这种方式访问才能起到跟踪效果。
URL:被跟踪的链接。

使用方法:
1、首先在需要应用的页面中注册这个控件,如:
<%@ Register TagPrefix="Portal" TagName="Tracking" Src="~/controls/URLTrackingControl.ascx" %>

2、在需要用到位置写下如下的代码,如:

<portal:tracking id="ctlTracking" runat="server" />

3、在后台代码中声明该控件和使用这个控件

Protected WithEvents ctlTracking As UI.UserControls.URLTrackingControl

ctlTracking.URL = objLink.Url   '被跟踪的链接
ctlTracking.ModuleID = ModuleId   '所用于的模块

  终于介绍完模块开发前的准备工作了,下一篇就开始介绍模块开发过程中的一些相关的知识和开发技巧。在《DNN模块开发系列文章(7)——用CodeSmith Templates进行编码》一文中让大家都体验一下开发DNN模块就一个字,快!


 系列文章导航:
DNN模块开发系列文章(1)——分析设计
DNN模块开发系列文章(2)——建立模块开发项目
DNN模块开发系列文章(3)——在DNN中添加模块定义
DNN模块开发系列文章(4)——与模块开发相关的类
DNN模块开发系列文章(5)——DNN中的通用控件(上)
DNN模块开发系列文章(6)——DNN中的通用控件(下)

 

抱歉!评论已关闭.