FCKeditor.Net 使用说明文档
准备工作:
1 在FCKeditor官网上下载最新版本的FCKeditorZIP文件,这个文件是主要的代码文件,必须包含。将压缩文件解压,并将fckeditor文件夹拷贝到你所建立网站的根目录(也可以新建其他目录,我这里放在根目录)。为保证代码的简洁,可以删除所有以下划线“_”开始的文件夹和文件,且fckeditor文件夹下面只保留如下文件
(1) editor文件夹
(2) fckconfig.js
(3) fckeditor.js
(4) fckstyles.xml
(5) fcktemplates.xml
(6) license.txt
2 在FCKeditor官网上下载最新版本的FCKeditor.NetZIP文件,这个文件是.Net中使用FCKeditor.Net必须包含的。将文件解压,并将bin/Release/2.0目录下的FredCK.FCKeditorV2.dll拷贝到你所建立网站的bin目录下(如果你的.NetFramework是1.0,则拷贝bin/Release/1.1下的FredCK.FCKeditorV2.dll)。(若改动源代码,需要重新编译)
配置工作:
1 添加引用:
打开你所建立的网站,将bin目录下的FredCK.FCKeditorV2.dll文件引用到项目中。(什么??你说不知道怎么引用,我晕菜了!^_^)
2 配置web.config:
在appSettings节点下添加如下两项,
<add key="FCKeditor:UserFilesPath" value="~/userfiles/"/>
Value为用户通过fckeditor上传的文件所保存的目录。
<add key="FCKeditor:BasePath" value="~/fckeditor/"/>
Value为fckeditor的目录,也就是fckeditor.js所存放的路径,后面必须跟斜杠 /
这里的两项指明了,上传文件所存放的路径和fckeditor存放的目录。当然这里web.config中也可以不进行任何配置,而在代码中灵活处理(如果有特殊要求,稍候将详细说明),这里只是为了统一管理,以避免以后每次使用都要指定。
在fckeditor/fckconfig.js文件中修改:
_FileBrowserLanguage = ’aspx’ 和 _QuickUploadLanguage = ’aspx’
DefaultLanguage = ‘zh-cn’ 和 AutoDetectLanguage = true
原因我就不说了哦。
开始使用:
1 注册fckeditor.Net:
在网站中新建一个需要使用fckeditor的.aspx页面,在@Page一行中添加如下内容,
ValidateRequest="false"
并在此行下面添加一行,
<%@ Register TagPrefix="FCKeditorV2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %>
ValidateRequest="false"的作用是取消提交时的安全检测,如果不加上则会报错误。这是因为由编辑器建立的一些输入会被.Net Framework认为有安全问题。
Register 在当前页面中对FCKeditor进行注册。
2 添加fckeditor.Net服务器控件:
在新建的页面中输入,
<FCKeditorV2:FCKeditor runat="server" ID="FCK1" ToolbarSet="Basic"></FCKeditorV2:FCKeditor>
ToolbarSet指明fckeditor的工具栏内容,不指定则为默认Default。ToolbarSet有Default和Basic种(也可自己定义,后面会详细讲解)。还有其他属性可以自己尝试看看效果。
3 运行程序:
在浏览器中查看效果。这时fckeditor已经完全呈现。
4 获取fckeditor的值:
也就是获取里面的内容,包括写入的文件,添加的图片等。在页面上添加一个服务器按钮(也可以是html按钮,这里为了讲解的方便),双击按钮,在按钮的点击事件函数中写如下代码,
Response.Write(FCK1.Value);
运行程序,在页面中的fckeditor中输入文字,图片连接和表情等(不要上传图片,因为没有权限,后面将详细讲解)。点击添加的按钮,则可以看到刚刚输入的内容已经打印到页面上。如果要保存内容报数据库,则只需要将FCK1.Value保存到数据库即可。
5 上传图片:
在第4步中,如果添加图片时,点击“浏览服务器”按钮,或者选择上传图片,会报错。说明要检查:fckeditor/editor/filemanager/connectors/aspx/connector.aspx文件的配置。是因为
fckeditor/editor/filemanager/connectors/aspx/config.ascx文件中的CheckAuthentication()方法返回的权限为false,只需要改为 return true即可。这时就可以上传图片到服务器,并添加上传的图片到FCKeditor编辑器中。
6 编辑:
如果要编辑以前写的内容,则只需在fckeditor初始化时,将内容指定给Value即可。
高级应用:
上传文件权限管理:
直接将fckeditor/editor/filemanager/connectors/aspx/config.ascx文件中的CheckAuthentication()方法改为 return true虽然可行,但是不安全,这样所有进入此页面使用fckeditor的用户都可以任意上传文件,浏览服务器文件。可以在此方法中先对用户的身份进行判断,然后分配权限。例如如果为非登陆用户,或者受限用户则不能使用“浏览服务器”或者上传功能。或者
修改fckeditor/fckconfig.js文件如下,
LinkBrowser = false;
ImageBrowse = false;
FlashBrowser = false;
LinkUpload = false;
ImageUpload = false;
FlashUpload = false;
或者在初始化FCKeditor实例的时候,如下配置:
FCK2.Config["LinkBrowser"] = "false";
FCK2.Config["ImageBrowser"] = "false";
FCK2.Config["FlashBrowser"] = "false";
FCK2.Config["LinkUpload"] = "false";
FCK2.Config["ImageUpload"] = "false";
FCK2.Config["FlashUpload"] = "false";
动态添加fckeditor:
在aspx页面上添加一个Panel服务器控件ID为Panel1,在相应的事件中添加fckeditor的代码如下,
FredCK.FCKeditorV2.FCKeditor FCK2 = new FredCK.FCKeditorV2.FCKeditor();
FCK2.ID = "FCK2";
FCK2.AutoDetectLanguage = true;
FCK2.BasePath = "~/fckeditor/";
FCK2.Width = Unit.Percentage(100);
FCK2.Height = Unit.Pixel(300);
FCK2.Value = “文章内容”;
FCK2.ToolbarSet = "MyUser";
Panel1.Controls.AddAt(2,FCK2);
其他属性可以一一类此设置。
动态改变上传路径:
如果想修改用户上传文件的路径,不动态加载控件,需要在page init 中做一些操作,(并不是在page load 中)。下面是一个例子:
Session["FCKeditor:UserFilesPath"] = "~/fckeditor/";
注意:UserFilesPath和BasePath配置的地方有很多,fckeditor.net会按一下顺序查找可能的配置:
一,Session
二,Application
三,Web.config
四,Config.asxc
如果找到则不再查找后面的项。
如果使用Request.Form[“FCK1”]的方法获取的value值要进行html解码
方法如下,
String value = Server.HtmlDecode(Request.Form["FCK1"].ToString());
自定义工具栏:
fckeditor只有两种Default和Basic工具栏可以选择,如果需要也可以在fckeditor/fckconfig.js文件中FCKConfig.ToolbarSets["Basic"]一项的下面添加多个自己的ToolbarSet,例如,
FCKConfig.ToolbarSets["MyUser"] = [
['Bold','Italic'],
['Preview','Cut','Copy','Paste'],
['Link','Unlink','Image','Flash','Smiley','-','About'],'/',
['TextColor','BGColor','Style','FontFormat','FontName','FontSize']
] ;
补充说明:
1 上传超链接的时候弹出消息窗口:invalid request的解决方法:
FCKeditor.js文件中修改:
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension;
为:
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=File';
Fckeditor的功能非常强大,你还可以在fckconfig.js文件中配置主题样式等,你可以仔细阅读fckconfig.js文件,这里只是给出了基本的使用说明文档,如果不能满足需求则去官网或者Google一下查找您需要的帮助。
左伟伟
2009年1月15日星期四