• (转)CKEditor和CKFinder在ASP.NET中的应用


    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目录的相对路径

    版权说明:作者:张颖希PocketZ's Blog
    出处:http://www.cnblogs.com/PocketZ
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    若本文为翻译内容,目的为练习英文水平,如有雷同,纯属意外!有不妥之处,欢迎拍砖

  • 相关阅读:
    Hibernate的游离态与持久态转换
    怎样区分直连串口线和交叉串口线?
    JAVA 内存泄露的理解
    leetcode第一刷_Validate Binary Search Tree
    Java程序猿的JavaScript学习笔记(8——jQuery选择器)
    Android二维码开源项目zxing用例简化和生成二维码、条形码
    Android Service 服务(一)—— Service
    一个简单的文本编辑器。(是在DEV C++下写的)
    我的Hook学习笔记
    ios网络学习------8 xml格式数据的请求处理 用代码块封装
  • 原文地址:https://www.cnblogs.com/PocketZ/p/1875563.html
Copyright © 2020-2023  润新知