編寫程式的時候需要用到線上的web文字編輯器,最早我使用的FreeTextBox(我們內網使用的就是這個),可惜,現在FreeTextBox需要收費了。這次內網改版又要用到了,我在網上查詢了半天后鎖定了2款:
一是CuteEditor6.0,這是一款商業軟體,但是現在有漢化破解版了,功能很強大,設定很簡單,可惜是破解版,使用了總歸是侵犯了著作權。最重要的是,它不開源,無法修改。
二是FCKeditor,最新版本是2.5.1,是開源的,而且是多語言版本,支援中文。功能足夠強大,但是設定起來很麻煩。我研究了2天,終於可以正常的、成功的、完整的使用了。
下面是一些心得,在asp.net2.0下面使用改控制項,網上文章不多,我在實際操作中,遇到了一些問題,網上沒能找到答案,好不容易才完全解決。主要有幾個個問題:
1、運行後,在使用“插入映像”或“插入檔案”時,單擊“瀏覽伺服器”,出現錯誤:this connector is disabled.please check the "editor/filemanager/connectors/aspx/config.ascx" file.
解決方案:在config.aspx檔案中,有一個選項.
private bool CheckAuthentication()
{
return false ;
}
預設為false,改為true即可正常使用”瀏覽伺服器”了。
2、使用”插入映像”、“插入flash”中的瀏覽上傳和直接上傳,都正常。但是使用“插入超連結”時,發現使用瀏覽上傳正常,但是使用直接上傳,就提示:Invalid request,百思不得其解,網上查了半天,也沒人遇到過。後然偶然在瀏覽fckconfig.js檔案時,發現了問題。
fckconfig.js中,比較linkupload和imageuplink後,發現:
FCKConfig.LinkUpload = true ;
FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;
FCKConfig.ImageUpload = true ;
FCKConfig.ImageUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=Image' ;
在ImageUpload最後,有Type=Image參數,而LinkUpload中卻沒有,先嘗試加上Type=Link,失敗,再嘗試加上Type=File後,成功了。所以問題出在少了參數“Type=File”。
雖然解決,還是奇怪出現這個問題,我的程式是從其官方網站上下的,按理不應該出現這種疏忽啊!浪費了我整整一天的時間啊!!
3、"editor/filemanager/connectors/aspx/config.aspx"中有個參數:UserFilesPath = "/userFiles/";,應該改成與web.config中UserFilesPath一樣的使用者檔案上傳路徑。UserFilesAbsolutePath=""同上面一樣改(但是UserFilesAbsolutePath參數做什麼用,我還是不太清楚,請知道的高手指點下)
4、使用中發現,瀏覽上傳的檔案會自動按照類別來傳,像傳在image中,檔案傳在file中。但是使用直接上傳則全部傳在上傳檔案夾的根目錄下,研究後發現,只要改動/aspx/config.aspx中的TypeConfig[ "File" ].QuickUploadPath就可以了,改成和TypeConfig[ "File" ].FilesAbsolutePath一樣即可。
5、編寫一個最簡單的頁面,預設為 <%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="weste.WebForm1" %>,我們要添加一個參數 validateRequest=false,否則提交帶html代碼的內容會報錯。
6、對於開發中使用檔案上傳功能遇到: XML request error: Internal Server Error(500) 錯誤的解決辦法。遇到500內部錯誤是怎麼回事呢?
因為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 %>