解压FCKeditor控件,在其子目录bin/Release/2.0下有一个程序集。在Web应用的项目中引用该程序集。
打开一ASP.NET页面,展开Toolbox,打开右键菜单,选择“Choose Items ...”,在出现的“Choose Toolbox Items”会话框的“.NET Framework Components”选项卡中选择“Browse”,找到并选中FCKeditor程序集,打开后回到“Choose Toolbox Items”窗口,点击“OK”,完成控件导入。
这时,在Toolbox的General分类下出现了一个名为FCKeditor的控件,可以像使用Visual Studio内置控件一样使用它。
FCKeditor编辑器文件组包含了用于它所支持的各种应用技术的文件,所以,对于ASP.NET应用来说,有很多文件是不需要的。
子目录editor/filemanager/connectors下,只保留文件夹aspx。
在appSettings配置节中加入
<add key="FCKeditor:BasePath" value="~/PathOfFCKeditor/" />
使用这种配置方法后,对于项目中任何一个页面中用到的FCKeditor控件,都不用再配置其BasePath属性。
直接对用到的FCKeditor控件进行配置
在页面代码中设置FCKeditor的属性BasePath为FCKeditor编辑器文件组的路径,或者在Page_Init事件处理器中设置其BasePath的值。
在web.config的appSettings配置节中加入
<add key="FCKeditor:UserFilesPath" value="~/YourUploadFilePath" />
这样,就完成了FCKeditor向ASP.NET页面的集成工作。
1. 配置控件语言
FCKeditor是自动探测浏览器所使用的语言编码的,其默认语言是英文。修改配置行"FCKConfig.DefaultLanguage = 'en';"为'zh-cn',采用中文为默认语言。
2. 配置控件应用技术
FCKeditor默认是用于php技术的。修改配置行"var _FileBrowserLanguage = 'php';"和"var _QuickUploadLanguage = 'php';"为'aspx',采用ASP.NET技术。
默认Tab键在FCKeditor中不可用,可以修改配置行"FCKConfig.TabSpaces = 0;"为1,启用Tab键。
在fck目录下编辑fckconfig.js 找到这行
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;
可修改
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/' ;
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/office2003/' ;
FCKConfig提供两种工具栏配置。在配置行"FCKConfig.ToolbarSets["Default"] = [ ... ];"中定义了使用全部可用按钮的配置(作为工具栏的默认配置)。在配置行"FCKConfig.ToolbarSets["Basic"] = [ ... ];"中定义了一个精简按钮的工具栏配置。实际使用时,默认配置按钮太多,精简配置按钮又太少。因此需要定制工具栏。
配置值[ ... ]中是形式为[[v, v2, .., vN], '/', [ ... ],...](vN表示要显示的按钮名字,'/'表示之后的按钮组在下一行显示)的按钮分组的集合。如果不需要整个分组的按钮,那么就删掉该分组(形式为 [ , , ...]);如果只是不需要分组中的某个按钮,删掉该按钮。
FCKeditor是外国人做的,默认使用的字体当然也是西文字体了。修改配置行"FCKConfig.FontNames = '...';",加入要使用的中文字体名,如宋体,楷体_GB2312等。
FCKConfig默认使用HTML字体关键字来表示可选的字体大小,这存在着不同浏览器显示效果不一致的问题。因此,建议修改配置行"FCKConfig.FontSizes = '...';",去掉字体关键字值,加入像素值或磅值。(当然,在网页里定义了全局样式表的话,就不需要修改这项设置了,但应该教会最终用户如何设置字体达到最佳显示效果。)
FCKeditor提供了非常强大和易用的文件上传功能,但是默认配置里,文件上传功能不可用,这是基于安全的考虑。但我认为访问安全性控制应该由程序来做,不应由控件来做。
在文件config.ascx中,修改CheckAuthentication()的返回值为true。如果希望上传具有多扩展名的文件,修改 SetConfig()中ForceSingleExtension的值为false。FCKeditor默认可以上传文件、图片、Flash和多媒体四种类型的文件,可以在SetConfig()中对AllowedTypes修改来增减允许的类型(这个类型可以在后面的 TypeConfig["TypeName"]中定义,比如在AllowedExtensions属性中定制本类型允许的上传文件扩展名,在 DeniedExtensions里定制不允许的上传文件扩展名)。
在文件fckconfig.js中,
7. 其它配置
对于这两个配置文件中的配置属性,从名字上很容易知道它们所代表的含义,基本上都可以定制。但要注意,
因为ASP.NET2.0新增了Theme功能,所以如果在你的工程中你对Web.config使用到了styleSheetTheme或theme的话那就要再多修改一下。
还是到FCKeditor所在的目录,分别打开\editor\filemanager\upload\aspx\upload.aspx和\editor\filemanager\browser\default\connectors\aspx\connector.aspx两个aspx文件,在page标签中添加Theme=""或StyleSheetTheme=""看你在工程使用的是什么就修改什么。修改后如下:
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" Theme="" %>
或
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" StylesheetTheme="" %>
这样就解决了500的内部错误