asp.net CKEditor和CKFinder的应用

CKEditor是新一代的FCKeditor,是一个重新开发的版本。CKEditor是全球最优秀的网页在线文字编辑器之一,因其惊人的性能与可扩展性而广泛的被运用于各大网站。而CKFinder是一个功能强大的ajax文件管理器。其简单的用户界面使得各类用户,不管是从高级专业人才,还是互联网初学者,都够直观、快速学习的学习使用它。

网址: 
CKEditor :http://ckeditor.com/ 
CKFinder :http://ckfinder.com/ 
CKEditor 的使用 
准备工作 
1. 下载CKEditor并将其解压到Web根目录下 
2. 精简目录: 
_samples文件夹(示例文件,可以删除) 
_source文件夹(源程序文件,可以删除) 
changes.html(更新列表,可以删除) 
install.html(安装指向,可以删除) 
license.html(使用许可,可以删除) 
CKEditor的配置(config.js文件) 
详细api参数见:http://docs.cksource.com/ckeditor_api/,我的默认配置 

复制代码 代码如下:

// 自定义 CKEditor 样式 
CKEDITOR.editorConfig = function(config) { 
//配置默认配置 
config.language = 'zh-cn'; //配置语言 
// config.uiColor = '#FFF'; //背景颜色 
// config.width = 400; //宽度 
// config.height = 400; //高度 
// config.skin = 'v2'; //编辑器皮肤样式 
// 取消 “拖拽以改变尺寸”功能 
// config.resize_enabled = false; 
// 使用基础工具栏 
// config.toolbar = "Basic"; 
// 使用全能工具栏 
config.toolbar = "Full"; 
//使用自定义工具栏 
// config.toolbar = 
// [ 
// ['Source', 'Preview', '-'], 
// ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', ], 
// ['Undo', 'Redo', '-', 'Find', 'Replace', '-', 'SelectAll', 'RemoveFormat'], 
// ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', SpecialChar','PageBreak'], 
// '/', 
// ['Bold', 'Italic', 'Underline', '-', 'Subscript', 'Superscript'], 
// ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote'], 
// ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'], 
// ['Link', 'Unlink', 'Anchor'], 
// '/', 
// ['Format', 'Font', 'FontSize'], 
// ['TextColor', 'BGColor'], 
// ['Maximize', 'ShowBlocks', '-', 'About'] 
// ]; 
};


CKEditor 的应用 
1. 在 aspx 页面或者 master 模板页 <head> 标签中加载 ckeditor.js: 
  <!-- 载入 CKEditor JS 文件 --> 
<script type="text/javascript" src="ckeditor/ckeditor.js"></script> 
2. 修改页面的page指令ValidateRequest="false" 
<%@ Page Language="C#" ValidateRequest="false" %> 
3. 在<body>标签中使用ckeditor: 
<!-- 使用 ckeditor 必须定义 class="ckeditor" --> 
<asp:TextBox ID="txtContent" class="ckeditor" TextMode="MultiLine" 
Text='<%# Bind("info") %>' runat="server"></asp:TextBox> 
4. 获取或设置编辑器中的内容 
//获取编辑器中的内容 
lblView.Text=Server.HtmlEncode( this.txtContent.Text); 
//设置编辑器中的内容 
//txtContent.Text = Server.HtmlDecode("<h1>设置内容</h1>"); 

CKFinder 的使用 
准备工作 
1. 下载CKFinder的Asp.NET版,将其解压到Web根目录下 
2. 复制/bin/Release目录下的ckfinder.dll文件至站点bin目录 
3. 精简目录: 
_samples文件夹(示例文件,可以删除) 
_source文件夹(源程序文件,可以删除) 
CKFinder的配置 
1. 打开 " \ckfinder\config.ascx ",为SetConfig方法中的 BaseUrl 指定默认路径,如: 
// 以userfiles 为默认路径,其目录下会自动生成images、flash等子目录。 
BaseUrl = " ~/ckfinder/userfiles/"; 
// NOTE:注意“ ~/ ”。 


2. 与CKEditor集成 
打开CKEditor目录中的config.js文件在function 函数中 

代码如下:

// 自定义 CKEditor 样式 
CKEDITOR.editorConfig = function(config) { 
…… 
};



加入如下内容: 

复制代码 代码如下:

// 在 CKEditor 中集成 CKFinder,注意 ckfinder 的路径选择要正确。 
config.filebrowserBrowseUrl = location.hash + '/ckfinder/ckfinder.html'; 
config.filebrowserImageBrowseUrl = location.hash + '/ckfinder/ckfinder.html?Type=Images'; 
config.filebrowserFlashBrowseUrl = location.hash+'/ckfinder/ckfinder.html?Type=Flash'; 
config.filebrowserUploadUrl = location.hash + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files'; 
config.filebrowserImageUploadUrl = location.hash + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images'; 
config.filebrowserFlashUploadUrl = location.hash + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'; 
// config.filebrowserWindowWidth = '800'; 
// config.filebrowserWindowHeight = '500';


CKFinder的应用 
1. 在工具栏中添加站点根目录bin目录中的ckfinder.dll控件 
2. 拖放控件到Web页面 
3. 修改CKFinder控件属性BasePath为ckfinder目录的相对路径 
常见问题 
1. 症状:因为安全原因,文件不可浏览。请联系系统管理员并检查CKFinder配置文件。 
原因:未设置用户身份验证或者用户未登录。 
语句: 

代码如下:

public override bool CheckAuthentication() 

return false; 
}


解决:在CKFinder的config.ascx文件中修改public override bool CheckAuthentication() 加入用户身份权限验证方法。 
2. 症状:未知错误 
原因:设置不进行用户身份验证,但是 BaseUrl 路径不对。 
语句: 

代码如下:

public override bool CheckAuthentication() 

return true ; 
}


解决:在CKFinder的config.ascx文件中的public override void SetConfig() 修改 

// 以userfiles 为默认路径,其目录下会自动生成images、flash等子目录。 
BaseUrl = " ~/ckfinder/userfiles/"; 
// NOTE:注意“ ~/ ”。 


3. 症状:访问带有CKFinder的页面时报错“HTTP 错误 404 - Not Found” 
解决:修改CKFinder控件的BasePath属性为ckfinder目录的相对路径

posted @ 2012-12-07 10:06  ``炯``  阅读(304)  评论(0编辑  收藏  举报