• ASP.NET下FCKeditor配置方法


    ASP.NET下FCKeditor配置方法全解

     

    本文所采用的FCKeditor版本是FCKeditor 2.6.4和FCKeditor.NET 2.6.3,都是当前FCKeditor的最新版本,在http://www.fckeditor.net上可以找到。


    搞ASP.NET开发有一年时间了,做网站时常常用到在线HTML编辑器,一直用得是FCKeditor。FCKeditor在ASP.NET上的集成和配置,可以说搞得已经很清楚了。在网络上得到过很多前辈同仁们的帮助,现在把自己的一点经验贡献出来,帮助需要帮助的人。

    原创作品,转载请注明出处。有不当的地方,敬请批评指正。

    参考:
        舒健,在ASP.NET中如何使用FCKEditor,http://blog.csdn.net/fhbcn/archive/2008/05/10/2431559.aspx。(应该是转载的)
        三味书屋,FCKeditor使用方法,http://hi.baidu.com/howes/blog/item/529c7a8b6200bc16c8fc7ac5.html。
        fckeditor.net,ASP.NET Integration,http://docs.fckeditor.net/FCKeditor_2.x/Developers_Guide/Integration/ASP.NET。
        Mohannd Jahedur Rahman,Integrating FCKeditor in ASP.NET,http://www.blog.valenticabd.com/2008/07/20/integrating-fckeditor-in-aspnet.html。


    一、集成方法
        FCKeditor应用在ASP.NET上,需要两组文件,一组是FCKeditor本身,另一个是用于ASP.NET的FCKeditor控件(分为1.1和2.0两个版本,这里使用2.0版本)。

        1. 将FCKeditor加入到项目中
        解压FCKeditor编辑器,得到文件夹fckeditor,复制此文件夹到Web应用的项目下(也可以是子孙目录下)。
        解压FCKeditor控件,在其子目录bin/Release/2.0下有一个程序集。在Web应用的项目中引用该程序集。

        2. 在页面中使用FCKeditor
        有两种方式。
        (1)手工编码
        在页面中加入ASP.NET指令:
            <%@ Register Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
        然后在需要的地方加入FCKeditor控件:
            <FCKeditorV2:FCKeditor id="FCKeditor1" runat="server" />
        (2)集成到Visual Studio工具箱
        打开一ASP.NET页面,展开Toolbox,打开右键菜单,选择“Choose Items ...”,在出现的“Choose Toolbox Items”会话框的“.NET Framework Components”选项卡中选择“Browse”,找到并选中FCKeditor程序集,打开后回到“Choose Toolbox Items”窗口,点击“OK”,完成控件导入。
        这时,在Toolbox的General分类下出现了一个名为FCKeditor的控件,可以像使用Visual Studio内置控件一样使用它。

        3. 配置FCKeditor编辑器路径
        在页面中,使用的是FCKeditor控件,该控件需要知道FCKeditor编辑器文件组的路径。有两种配置方法。
        (1)配置web.config
        在appSettings配置节中加入
            <add key="FCKeditor:BasePath" value="~/PathOfFCKeditor/" />
        使用这种配置方法后,对于项目中任何一个页面中用到的FCKeditor控件,都不用再配置其BasePath属性。
        (2)直接对用到的FCKeditor控件进行配置
        在页面代码中设置FCKeditor的属性BasePath为FCKeditor编辑器文件组的路径,或者在Page_Init事件处理器中设置其BasePath的值。

        4. 配置FCKeditor编辑器文件上传路径
        在web.config的appSettings配置节中加入
            <add key="FCKeditor:UserFilesPath" value="~/YourUploadFilePath" />
        
        这样,就完成了FCKeditor向ASP.NET页面的集成工作。


    二、配置FCKeditor
        按照FCKeditor的默认配置,可以完成一些常用的HTML可视化编辑工作,但在实际应用中,还需要对其做进一步的配置。FCKeditor控件的可配置属性不多,且配置后只能作用于一个单一实例。实际上,需要对FCKeditor编辑器文件组中的通用配置文件/fckconfig.js和ASP.NET专用文件上传管理代码文件/editor/filemanager/connectors/aspx/config.ascx进行配置。
        
        1. 配置控件语言
        FCKeditor是自动探测浏览器所使用的语言编码的,其默认语言是英文。修改配置行"FCKConfig.DefaultLanguage    = 'en';"为'zh-cn',采用中文为默认语言。

        2. 配置控件应用技术
        FCKeditor默认是用于php技术的。修改配置行"var _FileBrowserLanguage   = 'php';"和"var _QuickUploadLanguage    = 'php';"为'aspx',采用ASP.NET技术。

        3. 配置Tab键
        默认Tab键在FCKeditor中不可用,可以修改配置行"FCKConfig.TabSpaces    = 0;"为1,启用Tab键。

        4. 定制FCKeditor工具栏
        FCKConfig提供两种工具栏配置。在配置行"FCKConfig.ToolbarSets["Default"] = [ ... ];"中定义了使用全部可用按钮的配置(作为工具栏的默认配置)。在配置行"FCKConfig.ToolbarSets["Basic"] = [ ... ];"中定义了一个精简按钮的工具栏配置。实际使用时,默认配置按钮太多,精简配置按钮又太少。因此需要定制工具栏。
        配置值[ ... ]中是形式为[[v, v2, .., vN], '/', [ ... ],...](vN表示要显示的按钮名字,'/'表示之后的按钮组在下一行显示)的按钮分组的集合。如果不需要整个分组的按钮,那么就删掉该分组(形式为[ , , ...]);如果只是不需要分组中的某个按钮,删掉该按钮。

        5. 定制可用的文本字体
        FCKeditor是外国人做的,默认使用的字体当然也是西文字体了。修改配置行"FCKConfig.FontNames = '...';",加入要使用的中文字体名,如宋体,楷体_GB2312等。
        FCKConfig默认使用HTML字体关键字来表示可选的字体大小,这存在着不同浏览器显示效果不一致的问题。因此,建议修改配置行"FCKConfig.FontSizes  = '...';",去掉字体关键字值,加入像素值或磅值。(当然,在网页里定义了全局样式表的话,就不需要修改这项设置了,但应该教会最终用户如何设置字体达到最佳显示效果。)

        6. 启用文件上传
        FCKeditor提供了非常强大和易用的文件上传功能,但是默认配置里,文件上传功能不可用,这是基于安全的考虑。但我认为访问安全性控制应该由程序来做,不应由控件来做。
        在文件config.ascx中,修改CheckAuthentication()的返回值为true。如果希望上传具有多扩展名的文件,修改SetConfig()中ForceSingleExtension的值为false。FCKeditor默认可以上传文件、图片、Flash和多媒体四种类型的文件,可以在SetConfig()中对AllowedTypes修改来增减允许的类型(这个类型可以在后面的TypeConfig["TypeName"]中定义,比如在AllowedExtensions属性中定制本类型允许的上传文件扩展名,在DeniedExtensions里定制不允许的上传文件扩展名)。
        在文件fckconfig.js中,修改配置行"FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;"为FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=File&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;";修改配置行"FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;"为"FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=File' ;"。(在这个配置文件里,看起来似乎Type=File是作为默认参数的,但实际上不加这个参数的话,会出错。)
        
        7. 其它配置
        对于这两个配置文件中的配置属性,从名字上很容易知道它们所代表的含义,基本上都可以定制。但要注意,属性值的格式要正确。


    三、将FCKeditor编辑器文件组ASP.NET化
        FCKeditor编辑器文件组包含了用于它所支持的各种应用技术的文件,所以,对于ASP.NET应用来说,有很多文件是不需要的。

        根目录下,只保留文件夹editor,文件fckconfig.js、fckeditor.js、fckpackager.xml、fckstyles.xml和fcktemplates.xml。

        子目录editor/filemanager/connectors下,只保留文件夹aspx。

  • 相关阅读:
    MySQL服务器SSD性能问题分析与测试
    MySQL 5.7基于GTID复制的常见问题和修复步骤(一)
    用pt-stalk定位MySQL短暂的性能问题
    服务器IO瓶颈对MySQL性能的影响
    MySQL主从检验一致性工具pt-table-checksum报错的案例分析
    MySQL DROP DB或TABLE场景下借助SQL Thread快速应用binlog恢复方案
    MySQL服务器发生OOM的案例分析
    NUMA导致的MySQL服务器SWAP问题分析与解决方案
    python学习之-- 生成唯一ID
    python练习之-计算器
  • 原文地址:https://www.cnblogs.com/canyangfeixue/p/2512301.html
Copyright © 2020-2023  润新知