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


 TextEditor:

  简介:

  富文本编辑器控件。功能就不用多说了吧,大家都经常用到的。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模块就一个字,快!


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3