首先下載FCKeditor。
FCKeditor的下載地址
http://www.fckeditor.Net/download/default.Html
我使用的是當前最新版本FCKeditor 2.3
下載 ZIP File (source code included): FCKeditor_2.3.zip
和
FCKeditor.Net_2.2.zip
FCKeditor解壓後,我們只取我們需要的部分(這個可以參照網上很多文章),我就記錄一下了。
保留editor文件夾、fckconfig.js、fckeditor.JS、fckstyles.xml、fcktemplates.XML
其他的不需要,所有“_”開頭的文件和文件夾都是范例或者是源文件。
進入filemanager文件夾,有browser和upload兩個文件夾。進入browser\default\connectors,只保留ASPx文件夾,其余的刪掉,有一個test.Html文件要留下,如果上傳的時候出現錯誤,還要用他進行測試呢。upload也一樣,只保留ASPx文件夾;
編輯 fckconfig.JS 文件
修改
FCKConfig.DefaultLanguage = ''en'' ;
為
FCKConfig.DefaultLanguage = ''zh-cn'' ;
修改
var _FileBrowserLanguage = ''asp'' ; // asp | ASPx | cfm | lasso | perl | PHP | py
var _QuickUploadLanguage = ''asp'' ; // asp | ASPx | cfm | lasso | PHP
為
var _FileBrowserLanguage = ''aspx'' ; // asp | ASPx | cfm | lasso | perl | PHP | py
var _QuickUploadLanguage = ''aspx'' ; // asp | ASPx | cfm | lasso | PHP
找到第40行 FCKConfig.TabSpaces = 0 ; 改為FCKConfig.TabSpaces = 1 ; 即在編輯器域內可以使用Tab鍵。
如果你的編輯器還用在網站前台的話,比如說用於留言本或是日記回復時,那就不得不考慮安全了,在前台千萬不要使用Default的toolbar,要麼自定義一下功能,要麼就用系統已經定義好的Basic,也就是基本的toolbar,
找到第64行:
FCKConfig.ToolbarSets["Basic"] = [
[''Bold'',''Italic'',''-'',''OrderedList'',''UnorderedList'',''-'',/*''Link'',*/''Unlink'',''-'',''Style'',''FontSize'',''TextColor'',''BGColor'',''-'',''Smiley'',''SpecialChar'',''Replace'',''PrevIEw'']
] ;
這是我改過的Basic,把圖像功能去掉,把添加鏈接功能去掉,因為圖像和鏈接和Flash和圖像按鈕添加功能都能讓前台頁直接訪問和上傳文件,要是這兒不改直接給你上傳個木馬還不馬上玩完?但是光這樣還不行,fckeditor還支持編輯域內的鼠標右鍵功能。
找到 第77行:
FCKConfig.FontNames = ''Arial;Comic Sans MS;CourIEr New;Tahoma;Times New Roman;Verdana'' ;
加上幾種我們常用的字體 FCKConfig.FontNames = ''宋體;黑體;隸書;楷體_GB2312;Arial;Comic Sans MS;CourIEr New;Tahoma;Times New Roman;Verdana''
編輯器域內默認的顯示字體為12px,想要修改可以通過修改樣式表來達到要求,打開/editor/css/fck_editorarea.CSS,把第4行改為 font-size: 14px;即可。
在web.config中加入
<aPPSettings>
<add key="FCKeditor:BasePath" value="~/"/>
<add key="FCKeditor:UserFilesPath" value=";/weste/Files" />
</aPPSettings>
要加在<system.web>...</system.web>外面,注意weste是我的工程目錄,要根據實際需要進行修改,記住在工程完成後發布時要把/weste/Files根據實際情況修改一下,或者是/Files或者是/web/Files。開發階段在運行項目時的URL是http://localhost/項目名稱/的形式,發布後在服務器上建立站點,根路徑就是http://www.abc.com/的形式,所以發布後一定要改過來。
差不多就這樣了。對了,還要在工程目錄中建立一個相對應的目錄Files。
用VS.NET2003建立項目weste,引用 FCKeditor.Net_2.2.zip 解壓下的 bin\Release\FredCK.FCKeditorV2.dll 文件。
編寫一個最簡單的頁面
<%@ Register TagPrefix="FCKeditorV2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %>
<%@ Page language="c#" Codebehind="WebForm1.ASPx.cs" AutoEventWireup="false" Inherits="weste.WebForm1" validateRequest=false%>
// 這裡要主要兩個參數
// 默認為 <%@ Page language="c#" Codebehind="WebForm1.ASPx.cs" AutoEventWireup="false" Inherits="weste.WebForm1" %>
// 我們要添加一個參數 validateRequest=false,否則提交帶Html代碼的內容會報錯
// 從客戶端(...)中檢測到有潛在危險的 Request.Form 值。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD Html 4.0 Transitional//EN" >
<Html>
<HEAD>
<title>WebForm1</title>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<FCKeditorV2:FCKeditor id="FCKeditor1" runat="server"></FCKeditorV2:FCKeditor>
</form>
</body>
</Html>
如果要看提交內容的話,可以用 TextBox1.Text = HttpUtility.HtmlEncode(FCKeditor1.Value)。
如果要修改保存的內容,這可以用HttpUtility.HtmlDecode(ds.Tables[tablename].Rows[0]["fginfo"].ToString())來回調用;