简介:
富文本编辑器控件。功能就不用多说了吧,大家都经常用到的。DNN利用Providers模式可以很方便的集成多种富文本编辑器。据我所知就有:FreeTextBox,FCKEditor,WebHtmlEditor,CuteEditor。大家可以通过配置web.config就可以很容易的选择使用一种了,具体的配置方法在每一个富文本编辑器Providers中应该都有详细的说明。
位置:controlsTextEditor.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:texteditorid="teContent"runat="server"height="400"width="500"></dnn:texteditor>
3、在后台代码中声明该控件和使用这个控件
ProtectedWithEventsteContentAsTextEditor
teContent.Text=objArticle.Content
objArticle.Content=teContent.Text
注:如果要显示富文本的内容需要用Server.HtmlDecode()进行解码。
相关可用的富文本编辑器:
《让DNN也用CuteEditor》
《DNN中又一个好用的富文本编辑器(FCKEditor) 》
《LionHtmlEditorProvider(v1.0.3) 》
UrlControl
简介:
Url选择控件。可以选择一个网站内部的网页(Tab),可以选择一个网站内部文件或者输入一个外部网站的Url。在选择文件方式中,这个控件还有上传文件的功能(需要在文件管理系统中为用户设置权限)。而且这个控件还具有设置是否记录链接点击情况的功能,可以和URLTrackingControl(链接点击情况显示控件)配合使用。
位置:controlsUrlControl.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:urlid="ctlURL"runat="server"width="250"shownewwindow="True"showusers="True"/>
3、在后台代码中声明该控件和使用这个控件
'声明链接控件
ProtectedWithEventsctlURLAsUI.UserControls.UrlControl
'设置获取链接
ctlURL.Url=objLink.Url
objLink.Url=ctlURL.Url
'记录链接的跟踪设置(只有写了一下语句链接跟踪才会起效)
'DNN中用UrlTracking表来记录链接设置,UrlController是框架提供的类
DimobjUrlsAsNewUrlController
objUrls.UpdateUrl(PortalId,ctlURL.Url,ctlURL.UrlType,ctlURL.Log,ctlURL.Track,ModuleId,ctlURL.NewWindow)
4、如果要使用链接的跟踪设置,在显示链接是还需做一些处理,具体可参见Links模块的做法。
URLTrackingControl
简介:
链接点击情况跟踪显示控件。可以显示链接的点击次数,点击时间、用户等明细。
位置:controlsURLTrackingControl.ascx
属性:
FormattedURL:设置已经格式化的链接。一般不设置,系统会自动格式化被跟踪的链接。
LocalResourceFile:该控件对应的语言资源文件。这个不用设置,默认就可以了。
ModuleID:设置需要显示那个模块的链接跟踪情况
TrackingURL:获取跟踪链接访问链接。只有通过这种方式访问才能起到跟踪效果。
URL:被跟踪的链接。
使用方法:
1、首先在需要应用的页面中注册这个控件,如:
<%@ Register TagPrefix="Portal" TagName="Tracking" Src="~/controls/URLTrackingControl.ascx" %>
2、在需要用到位置写下如下的代码,如:
<portal:trackingid="ctlTracking"runat="server"/>
3、在后台代码中声明该控件和使用这个控件
ProtectedWithEventsctlTrackingAsUI.UserControls.URLTrackingControl
ctlTracking.URL=objLink.Url '被跟踪的链接
ctlTracking.ModuleID=ModuleId '所用于的模块
终于介绍完模块开发前的准备工作了,下一篇就开始介绍模块开发过程中的一些相关的知识和开发技巧。在《DNN模块开发系列文章(7)——用CodeSmith Templates进行编码》一文中让大家都体验一下开发DNN模块就一个字,快!
本文作者:未知