CKEditor和CKFinder在ASP.NET中的应用,需要的朋友可以参考下。 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目录的相对路径
|
请发表评论