原来一直用FreeTextBox,感觉总有一些不如意的地方。最近发现一个更好用的再现编辑器FCKeditor(csdn的blog就在用,哈哈,大家可以看看FCKeditor的演示http://www.fckeditor.net/demo/default.html),于是我也来装装试试。FCKeditor也是开放源码的,支持的语言有asp、asp.net、php、perl和ColdFusion,我用c#开发当然用asp.net了。
首先从http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=75845 下载到FCKeditor的最新版 2.0 FC,我下载的是FCKeditor_2.0fc.zip;光有他还不行,因为这个压缩包中没有包括asp.net版本,还要下载FCKeditor.Net:http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=137125,我下载的是FCKeditor.Net_2.1.zip。
现在就可以安装了:先解开FCKeditor_2.0fc.zip,把解开的文件夹在IIS中创建成虚拟目录FCKeditor,按照FCKeidtor的文档修改FCKeditor目录的配置文件fckconfig.js:
把默认的asp的FCKConfig.LinkBrowserURL和FCKConfig.ImageBrowserURL注释掉,去掉asp.net的FCKConfig.LinkBrowserURL和FCKConfig.ImageBrowserURL注释。
把FCKeditor.Net_2.1.zip中的bin下.dll放到项目的bin下引用,并且在vs2003的工具箱中把它加进来;拽到页面上;运行一下;好像是可以了,心中暗自得意,当点到插入图片的时候却出了问题,提示 XML request error: Internal Server Error(500),究竟是怎么回事呢?
在文档的Troubleshooting中说
You probably don't have the correct "Connector" for your server language set in the fckconfig.js file. 但是我几经在fckconfig.js修改成使用asp.net了。那么问题又在哪里呢?我百思不得其解,文档中似乎也没说明白。
正在一筹莫展之时忽然发现在存放FCKeidtor的connector文件的
/FCKeditor/editor/filemanager/browser/default/connectors
下有一个test.html测试文件,它是用来测试connector是否能正确工作的,在服务器上运行,
选择asp.net,点一下Get Folders,这下看清楚了,原来是叶面出错了:
“/FCKeditor”应用程序中的服务器错误。
--------------------------------------------------------------------------------
分析器错误
说明: 在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件。
分析器错误信息: 未能加载类型“FredCK.FCKeditorV2.FileBrowserConnector”。
源错误:
行 1: <%@ Page language="c#" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" %>
行 2: <%--
行 3: * FCKeditor - The text editor for internet
源文件: d:/inetpub/wwwroot/FCKeditor/editor/filemanager/browser/default/connectors/aspx/connector.aspx 行: 1
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.2300; ASP.NET 版本:1.1.4322.2300
这下我眼睛一亮,原来是少东西了。我把FCKeditor.Net_2.1.zip中解开的.dll放到/FCKeditor/下建立的bin目录下。再次运行程序,这下终于OK了^_^
没想到这么个小东西费了我半天时间呀
在安装中遇到的几个小问题:
1、 修改上传文件的默认位置
在FCKeditor中默认上传位置是/UserFiles/,怎样修改到自己的目录下呢?
可以修改在web.config中加上
<appSettings>
<add key="FCKeditor:UserFilesPath" value="/<自己的目录>/<自己的子目录>/" />
</appSettings>
就可以了
2、 因为上传文件创建目录需要权限,别忘了修改适当的权限。
3、 有许多选项可以通过修改fckconfig.js中对应得参数实现,详细的可以参考文档。