ASP.NET下FCKedit配置及使用參考

來源:互聯網
上載者:User
一、配置方法
    FCKeditor應用在ASP.NET上,需要兩樣東西,一是FCKeditor本身可進入官網下載http://ckeditor.com/(FCKEditor已經改名了),另一個是用於ASP.NET的FCKeditor控制項即FredCK.FCKeditorV2.dll(分為1.1和2.0兩個版本,這裡使用2.0版本)。
    1. 將FredCK.FCKeditorV2.dll引用到網站項目中
    解壓FCKeditor編輯器,得到檔案夾fckeditor,複製此檔案夾到Web應用的項目下(根目錄即可也可以使子目錄如/Editor/fckeditor)。

    2. 在頁面中使用FCKeditor
    有兩種方式。
    (1)手工編碼
    在頁面中加入ASP.NET指令:
        <%@ Register Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
    然後在需要的地方加入FCKeditor控制項:
        <FCKeditorV2:FCKeditor id="FCKeditor1" runat="server" />
    (2)整合到Visual Studio工具箱
    開啟一ASP.NET頁面,展開工具列,開啟右鍵菜單,選擇“選擇項 ...”,在出現的“選擇工具箱項”會話框的“.NET Framework 組件”選項卡中選擇“瀏覽”,找到並選中FCKeditor程式集,開啟點擊“確定”,完成控制項匯入。
    這時,在Toolbox出現了一個名為FCKeditor的控制項,可以像使用Visual Studio內建控制項一樣使用它。

    3. 配置FCKeditor編輯器路徑
    在頁面中,使用的是FCKeditor控制項,該控制項需要知道FCKeditor編輯器檔案組的路徑。有兩種配置方法。
    (1)配置web.config
    在appSettings配置節中加入
        <add key="FCKeditor:BasePath" value="~/editors/fckeditor/" />
    使用這種配置方法後,對於項目中任何一個頁面中用到的FCKeditor控制項,都不用再配置其BasePath屬性。
    (2)直接對用到的FCKeditor控制項進行配置
    在頁面代碼中設定FCKeditor的屬性BasePath為FCKeditor編輯器檔案組的路徑,或者在Page_Init事件處理器中設定其BasePath的值。

    4. 配置FCKeditor編輯器檔案上傳路徑
    在web.config的appSettings配置節中加入
        <add key="FCKeditor:UserFilesPath" value="~/files/" />
    

二、配置FCKeditor
    按照FCKeditor的預設配置,可以完成一些常用的HTML可視化編輯工作,但在實際應用中,還需要對其做進一步的配置。FCKeditor控制項的可配置屬性不多,且配置後只能作用於一個單一執行個體。實際上,需要對FCKeditor編輯器檔案組中的通用設定檔/fckconfig.js和 ASP.NET專用檔案上傳管理代碼檔案/editor/filemanager/connectors/aspx/config.ascx進行配置。
    
    1. 配置控制項語言
    FCKeditor是自動探測瀏覽器所使用的語言編碼的,其預設語言是英文。修改配置行"FCKConfig.DefaultLanguage    = 'en';"為'zh-cn',採用中文為預設語言。

    2. 配置控制項應用技術
    FCKeditor預設是用於php技術的。修改配置行"var _FileBrowserLanguage   = 'php';"和"var _QuickUploadLanguage    = 'php';"為'aspx',採用ASP.NET技術。

    3. 配置Tab鍵
    預設Tab鍵在FCKeditor中不可用,可以修改配置行"FCKConfig.TabSpaces    = 0;"為1,啟用Tab鍵。

    4. 定製FCKeditor工具列
    FCKConfig提供兩種工具列配置。在配置行"FCKConfig.ToolbarSets["Default"] = [ ... ];"中定義了使用全部可用按鈕的配置(作為工具列的預設配置)。在配置行"FCKConfig.ToolbarSets["Basic"] = [ ... ];"中定義了一個精簡按鈕的工具列配置。實際使用時,預設配置按鈕太多,精簡配置按鈕又太少。因此需要定製工具列。
    配置值[ ... ]中是形式為[[v, v2, .., vN], '/', [ ... ],...](vN表示要顯示的按鈕名字,'/'表示之後的按鈕組在下一行顯示)的按鈕分組的集合。如果不需要整個分組的按鈕,那麼就刪掉該分組(形式為 [ , , ...]);如果只是不需要分組中的某個按鈕,刪掉該按鈕。
    配置多個工具列可以在網站不同位置靈活使用,在普通使用者介面可以使用較為精簡的工具列,在網站管理員後台可以使用較為複雜且功能較多的工具列。調用方法非常簡單,只要在頁面載入時執行this.fckEdit.ToolbarSet = "[工具列名稱]";

    5. 定製可用的文本字型
    FCKeditor是外國人做的,預設使用的字型當然也是西文字型了。修改配置行"FCKConfig.FontNames = '...';",加入要使用的中文字型名,如宋體,楷體_GB2312等。
    FCKConfig預設使用HTML字型關鍵字來表示可選的字型大小,這存在著不同瀏覽器顯示效果不一致的問題。因此,建議修改配置行"FCKConfig.FontSizes  = '...';",去掉字型關鍵字值,加入像素值或磅值。(當然,在網頁裡定義了全域樣式表的話,就不需要修改這項設定了,但應該教會終端使用者如何設定字型達到最佳顯示效果。)

    6. 啟用檔案上傳
    FCKeditor提供了非常強大和易用的檔案上傳功能,但是預設配置裡,檔案上傳功能不可用,這是基於安全的考慮。但我認為訪問安全性控制應該由程式來做,不應由控制項來做。
    在檔案config.ascx中,修改CheckAuthentication()的傳回值為true。如果希望上傳具有多副檔名的檔案,修改 SetConfig()中ForceSingleExtension的值為false。FCKeditor預設可以上傳檔案、圖片、Flash和多媒體四種類型的檔案,可以在SetConfig()中對AllowedTypes修改來增減允許的類型(這個類型可以在後面的 TypeConfig["TypeName"]中定義,比如在AllowedExtensions屬性中定製本類型允許的上傳副檔名,在 DeniedExtensions裡定製不允許的上傳副檔名)。
    在檔案fckconfig.js中,修改配置行"FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;"為FCKConfig.LinkBrowserURL = FCKConfig.BasePath + 'filemanager/browser/default/browser.html?Type=File&Connector=' + encodeURIComponent( FCKConfig.BasePath + 'filemanager/connectors/' + _FileBrowserLanguage + '/connector.' + _FileBrowserExtension ) ;";修改配置行"FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension ;"為"FCKConfig.LinkUploadURL = FCKConfig.BasePath + 'filemanager/connectors/' + _QuickUploadLanguage + '/upload.' + _QuickUploadExtension + '?Type=File' ;"。(在這個設定檔裡,看起來似乎Type=File是作為預設參數的,但實際上不加這個參數的話,會出錯。)
    
    7. 其它配置
    對於這兩個設定檔中的配置屬性,從名字上很容易知道它們所代表的含義,基本上都可以定製。但要注意,屬性值的格式要正確。

三、將FCKeditor編輯器檔案組ASP.NET化
    FCKeditor編輯器檔案組包含了用於它所支援的各種應用技術的檔案,所以,對於ASP.NET應用來說,有很多檔案是不需要的。

    根目錄下,只保留檔案夾editor,檔案fckconfig.js、fckeditor.js、fckpackager.xml、fckstyles.xml和fcktemplates.xml。
    子目錄editor/filemanager/connectors下,只保留檔案夾aspx。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.