今天偶然看到一篇关于 CKEditor与CKFinder整合文章,心想有一段时间没有使用这种东西了。于是乎自己动手亲自体验了一下,本以为简单但在东西编写的过程发现了很多没有遇见毛病。

所以记录一下自己东西编写除错的过程

首先,下载2个插件包

CKEditor下载地址:http://ckeditor.com/

CKFinder下载地址:http://ckfinder.com/

1.然后创建项目,将解压的文件夹拷贝到项目中,编写页面代码如下:

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CKEditor._Default" ValidateRequest="false" %>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" >
  4. <head runat="server">
  5. <title></title>
  6. <!--引用脚本文件-->
  7. <script type="text/javascript" language="javascript" src="ckeditor/ckeditor.js"></script>
  8. <script type="text/javascript" language="javascript" src="ckfinder/ckfinder.js"></script>
  9. </head>
  10. <body>
  11. <form id="form1" runat="server">
  12. <div>
  13. <asp:TextBox ID="Content" runat="server" TextMode="MultiLine" Height="250px" Width="500px"></asp:TextBox>
  14. <!--这句脚本代码必须放在文件后面-->
  15. <script type="text/javascript">
  16. CKEDITOR.replace('<%=Content.ClientID%>', {});
  17. var editor = CKEDITOR.replace('<%=Content.ClientID%>');
  18. CKFinder.SetupCKEditor(editor, '../ckfinder/');
  19. </script>
  20. <asp:Literal ID="Literal1" runat="server" ></asp:Literal>
  21. <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="ok" />
  22. </div>
  23. </form>
  24. </body>
  25. </html>

2.配置CKEditor下的config.js文件代码如下:

  1. CKEDITOR.editorConfig = function( config )
  2. {
  3. // Define changes to default configuration here. For example:
  4. // config.language = 'fr';
  5. // config.uiColor = '#AADC6E';
  6. config.language = 'zh-cn'; //中文
  7. config.uiColor = '#54ADD8'; //编辑器颜色
  8. config.font_names = '宋体;楷体_GB2312;新宋体;黑体;隶书;幼圆;微软雅黑;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana';
  9. config.toolbar_Full =
  10. [
  11. ['Source', '-', 'Preview', '-', 'Templates'],
  12. ['Cut', 'Copy', 'Paste', 'PasteText', 'PasteFromWord', '-', 'Print', 'SpellChecker', 'Scayt'],
  13. ['Undo', 'Redo', '-', 'Find', 'Replace', '-', 'SelectAll', 'RemoveFormat'],
  14. ['Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField'],
  15. '/',
  16. ['Bold', 'Italic', 'Underline', 'Strike', '-', 'Subscript', 'Superscript'],
  17. ['NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', 'Blockquote', 'CreateDiv'],
  18. ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock'],
  19. ['Link', 'Unlink', 'Anchor'],
  20. ['Image', 'Flash', 'Table', 'HorizontalRule', 'Smiley', 'SpecialChar', 'PageBreak'],
  21. '/',
  22. ['Styles', 'Format', 'Font', 'FontSize'],
  23. ['TextColor', 'BGColor'],
  24. ['Maximize', 'ShowBlocks', '-', 'About']
  25. ];
  26. config.toolbar_Basic =
  27. [
  28. ['Bold', 'Italic', '-', 'NumberedList', 'BulletedList', '-', 'Link', 'Unlink', '-', 'About']
  29. ];
  30. config.width =771; //宽度
  31. config.height = 260; //高度
  32. //如果需要使用ckfinder上传功能必须添下列代码
  33. config.filebrowserBrowseUrl = location.hash + '/ckfinder/ckfinder.html';
  34. config.filebrowserImageBrowseUrl = location.hash + '/ckfinder/ckfinder.html?Type=Images';
  35. config.filebrowserFlashBrowseUrl = location.hash+'/ckfinder/ckfinder.html?Type=Flash';
  36. config.filebrowserUploadUrl = location.hash + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files';
  37. config.filebrowserImageUploadUrl = location.hash + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images';
  38. config.filebrowserFlashUploadUrl = location.hash + '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash';
  39. };

3.配置CKFinder下的Config.ascx文件:

首先配置下载权限

  1. public override bool CheckAuthentication()
  2. {
  3. // WARNING : DO NOT simply return "true". By doing so, you are allowing
  4. // "anyone" to upload and list the files in your server. You must implement
  5. // some kind of session validation here. Even something very simple as...
  6. //
  7. //  return ( Session[ "IsAuthorized" ] != null && (bool)Session[ "IsAuthorized" ] == true );
  8. //
  9. // ... where Session[ "IsAuthorized" ] is set to "true" as soon as the
  10. // user logs on your system.
  11. // return fase;
  12. return true;
  13. }

其次配置Config.ascx服务器文件路径,用于存储图片的文件夹

  1. BaseUrl = " ~/ckfinder/userfiles/";

该路径根据实际情况不同,设置也不同。

4.引用CKFinder文件中bin文件下的Release中ckfinder.dll否则会有错误。

至此配置已经完成。

注意事项:

1.运行的时候,可能出现例如:System.Web.HttpRequestValidationException: 从客户端(Content="<p>fdgdfgdfg</p>...")中检测到有潜在危险的 Request.Form 值的错误,

该错误需要在页面page标签中添加validateRequest="false". 也可以在MVC后台设置:[ValidateInput(false)]//目的是为了防止在提交时报“检测到有潜在危险的客户端输入值”

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="CKEditor._Default" ValidateRequest="false" %>

2.编译的时候如果提示我AssemblyTitle、AssemblyCompany等属性重复,该错误可能是ckeditor,ckfinder示例代码中的AssemblyInfo.cs文件存在冲突,删除示例代码 source文件或者samples文件中的代码即可。

CKEditor与CKFinder整合 MVC3的更多相关文章

  1. CKEditor和CKFinder整合实现上传下载功能

    CKEditor与CKFinder整合并实现文件上传功能 事先说明:此整合的是java版本号的, 用到的有:jsp + ckeditor + ckfinder (没有servlet 及其他框架技术) ...

  2. extjs4与ckeditor、ckfinder整合

    <script type="text/javascript"src="<?php echo Yii::app()->request->baseUr ...

  3. CKEditor与CKFinder整合并实现文件上传功能

    事先说明:此整合的是java版本的, 用到的有:jsp + ckeditor + ckfinder (没有servlet 及其它框架技术) 一.需要的资源: 用到的网站,文件自己下载: a) cked ...

  4. CKEditor与CKFinder学习--自定义界面及按钮事件捕获

    原文地址:CKEditor与CKFinder学习--自定义界面及按钮事件捕获  讨厌CSDN的广告,吃香太难看! 效果图 界面操作图 原始界面 调整后的界面(删除了flush,表单元素等) 该界面的皮 ...

  5. ckeditor与ckfinder简单整合使用

    Ckeditor与ckfinder简单整合使用 功能:主要用来发送图文的email,图片上传到本地服务器,但是email的图片地址要写上该服务器的远程地址(图片地址:例如:http://www.bai ...

  6. Ckeditor与Ckfinder(java)整合实现富媒体内容编辑(支持文件上传)

    先来看一下最终的效果图 一.编辑器界面 二.上传图片界面 <!-------------------------------------------------------> 一.安装包下 ...

  7. 基于MVC4+EasyUI的Web开发框架经验总结(5)--使用HTML编辑控件CKEditor和CKFinder

    Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEditor的配置和使用.CKEditor的前身是FCKEdito ...

  8. 编辑控件CKEditor和CKFinder

    -使用HTML编辑控件CKEditor和CKFinder Web开发上有很多HTML的编辑控件,如CKEditor.kindeditor等等,很多都做的很好,本文主要介绍在MVC界面里面,CKEdit ...

  9. 在JSP里使用CKEditor和CKFinder

    在JSP里使用CKEditor和CKFinder 最 近在做一个新闻发布平台,放弃了很早的FCKEditor,使用CKEditor和CKFinder,尽管免费的CKFinder是Demo版本,但是功 ...

随机推荐

  1. Java中的继承与静态static等的执行先后顺序

    package extend; public class X { Y y=new Y(); static{  System.out.println("tttt"); } X(){  ...

  2. webpack入门指南(转载)

    什么是 webpack? webpack是近期最火的一款模块加载器兼打包工具,它能把各种资源,例如JS(含JSX).coffee.样式(含less/sass).图片等都作为模块来使用和处理. 我们可以 ...

  3. NFS 网络文件系统挂载在A8板子上

    我承认自己是菜鸟,没什么网络知识就来搞挂载nfs网络文件系统,花费了5天的时间才把nfs网络文件系统成功挂载在A8板子上,实现了A8板子和虚拟机的文件共享.分享一下个人经验: 以下是基于nfs已经完成 ...

  4. HP iLo2 试用序列号

    HP iLo2 试用序列号 2 条回复 32Q8W-GKHTR-NPDKY-5CD79-T525H hp的ilo2功能实在太有用了,不用往那个恶劣的机房跑了,系统重装也直接远程完成. 这个试用序列号用 ...

  5. [SystemC] Setting Up the Environment

    My operating system is Ubuntu 12.04. 0. Checking Your Compilers First thing first, you will need the ...

  6. String.Format格式说明——复制于DotNet笔记

    String.Format格式说明   C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 st ...

  7. windows里面的批处理命令不停地处理同一条命令

    最近在设置路由表的时候,为了方便,做了一个批处理 route.bat route delete 0.0.0.0route delete 10.25.0.0route ADD 10.25.0.0 MAS ...

  8. Android中的IntentService

    首先说下,其他概念:Android中的本地服务与远程服务是什么? 本地服务:LocalService 应用程序内部------startService远程服务:RemoteService androi ...

  9. 简单易懂的Activity四种启动模式

    Activity的四种启动模式 我们在项目开发的过程中,会涉及到应用中各个Activity的跳转,有些Activity是可以复用,不用重复加载,节约内存的使用. 将第二个Activity的启动模式修改 ...

  10. EnTaroTassadar

    著名的暴雪电影制片厂不久前推出了他的新作:电影虚空之遗附带的同名游戏的前三关战役.游戏的第一关中,一些星灵战士被莫比斯 俘虏了.而你(泽拉图)要去解救他们.解救的方法就是生产一些士兵,然后打败敌人.生 ...