asp.net fck控件


準備:首先下載程序包  (1):FCKeditor.Net包 和FCKeditor_2.X.X 版本包
1、準備工做
首先下載FCKeditor V2.3.2 released,下載地址在上面。這個壓縮包裏並不包含.NET要用到的DLL控件,因此還要下載另一個壓縮包,下載地址在上面的控件地址裏。把第一個文件解壓到WEB根目錄,默認文件夾名爲:FCKeditor;再把第二個包解壓,裏面包含了源代碼,若是你想本身再次開發,能夠雙擊FredCK.FCKeditorV2.csproj文件,打開VS.NET進行修改,所用的語言是C#;不想修改的話,直接把bin\Release下面的FredCK.FCKeditorV2.DLL文件拷到WEB目錄的bin下面。
2、精簡文件
  由於只用到ASP.NET,因此有必要精簡一下文件。
  進入FCKeditor文件夾,把全部「_」開頭的文件和文件夾刪掉,這些都是一些範例,只保留editor文件夾、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml就能夠了;
  進入editor文件夾,刪掉「_source」文件夾,裏面放的一樣是源文件;
  退回上一級目錄進入filemanager文件夾,有browser和upload兩個文件夾。進入browser\default\connectors,只保留aspx文件夾,其他的刪掉;mcpuk目錄亦可刪除;upload也同樣,只保留aspx文件夾;
  退到editor再進入p_w_picpaths文件夾,smiley裏面放的是表情圖標,有msn和fun兩個系列,若是你想用本身的表情圖標,能夠把它們都刪除;若是你想用這裏的表情圖標那就不要刪了;
  lang裏面放的是語言包,若是隻是用簡體中文,那麼只保留fcklanguagemanager.js、zh-cn.js兩個文件就好了,建議也保留en.js(英文)、zh.js(繁體中文)兩個文件,fcklanguagemanager.js是語言配置文件,有了它才能和fckconfig.js裏的設置成對,對應上相應的語言文件,必定要保留!
  再退出lang文件夾,進入skins文件夾,若是你想使用FCKeditor默認的奶×××,那就把除了default文件夾外的另兩個文件夾直接刪除,若是想用別的,那就看你本身的喜愛了。
  至此,文件精簡完畢,由原來的2.55M變成如今的797K了。接着修改設置。
3、修改設置
打開位於根目錄的fckconfig.js文件。FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;這行是設置皮膚的,若是精簡時保留了silver,就把路徑改爲skins/silver,默認就不用管它了;FCKConfig.DefaultLanguage = 'en' ;設置默認語言,把en改爲zh-cn,即簡體中文;FCKConfig.TabSpaces = 0;若是在編輯過程當中要用到TAB鍵,就把0改爲1;
在。NET中應用就把FCKCONFIG。JS中的ASP改爲ASPX(默認文件瀏覽器語言,快速上傳語言)
改完後保存,FCKeditor已經徹底支持ASP.NET了。固然還有一些安全問題,只要修改相應的toolbar,鼠標右鍵菜單等等,由於個人後臺不面對前臺用戶的,即沒有留言本和日記回覆,因此略過這些步驟。下一步是打開VS.NET,在ASP.NET頁面中加入FCKeditor。
4、ASP.NET中的應用
  打開項目的「資源管理器」,添加「FredCK.FCKeditorV2」引用。新建一個頁面,添加FCK的引用,代碼以下:
<%@ Register TagPrefix="FCKeditorV2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %>
並確保@ Page中的「AutoEventWireup」「validateRequest」兩個值都爲false,否則當你發表的文章中含有連接或是其餘HTML語句時,.NET會警告你有安全隱患而出錯。在form的適當位置加入FCKeditor控件,固然form必定要有「runat="server"」,代碼以下:
<FCKeditorV2:FCKeditor id="content" runat="server"></FCKeditorV2:FCKeditor>
 
若是 插入圖片會報錯,請繼續一下步驟:
fckeditor配置重點說明
一、目錄放哪裏均可以,首先配置該目錄下的fckconfig.js文件,快捷方法是把asp都替換成aspx。
  二、在web.config里加上
   <appSettings>
   <add key="FCKeditor:UserFilesPath" value="/fc/fserFiles/" />
   <add key="FCKeditor:BasePath" value="/fc/FCKeditor/" />
</appSettings>
  注意是:虛擬目錄加fceditor的網站目錄路徑
  三、把fckeditor的dll包引用到項目
  四、最關鍵的一步是:在目錄權限上把asp.net用戶的權限給到最大
  五、文件頭引用命名空間
   <%@ Register TagPrefix="fckeditorv2" Namespace="FredCK.FCKeditorV2" Assembly="FredCK.FCKeditorV2" %>
  六、引入fckeditor
  <FCKeditorV2:FCKeditor id="FCKeditor1" basePath="./FCKeditor/" runat="server"></FCKeditorV2:FCKeditor></FONT>
  七、若是還不行
  到fckedor的editor/filemanager/browser/connectors/aspx/connectior.aspx 的頭上引用包文件中加 Theme="",以下,還有就是upload.aspx文件,到browser目錄的upload文件夾中找
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" Theme="" %>
注意:
一:解決中文問題 除了在WEB。CONFIG中寫入GB2312標識  還要在
FCKeditor/editor/filemanager/browser/default/frmresourceslist.html中把方法
Function openfile 裏面的 seturl(fileurl) 改爲seturl(escape(fileurl));
另外把editor目錄下的DIALOG下的FCK——IMAGE和FCK——FLASH等裏的
<metahttp-equivXXXXXXXXcharset=utf-8> 換成GB2312
二:使用的時候注意引用FCK的樣式表和JS文件不然可能顯示不正常或功能不正常
本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/thomas_chen/archive/2007/12/24/1965023.aspx
1、集成方法
    FCKeditor應用在ASP.NET上,須要兩組文件,一組是FCKeditor自己,另外一個是用於ASP.NET的FCKeditor控件(分爲1.1和2.0兩個版本,這裏使用2.0版本)。
    1. 將FCKeditor加入到項目中
    解壓FCKeditor編輯器,獲得文件夾fckeditor,複製此文件夾到Web應用的項目下(也能夠是子孫目錄下)。
    解壓FCKeditor控件,在其子目錄bin/Release/2.0下有一個程序集。在Web應用的項目中引用該程序集。
    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頁面,展開Toolbox,打開右鍵菜單,選擇「Choose Items ...」,在出現的「Choose Toolbox Items」會話框的「.NET Framework Components」選項卡中選擇「Browse」,找到並選中FCKeditor程序集,打開後回到「Choose Toolbox Items」窗口,點擊「OK」,完成控件導入。
    這時,在Toolbox的General分類下出現了一個名爲FCKeditor的控件,能夠像使用Visual Studio內置控件同樣使用它。
    3. 配置FCKeditor編輯器路徑
    在頁面中,使用的是FCKeditor控件,該控件須要知道FCKeditor編輯器文件組的路徑。有兩種配置方法。
    (1)配置web.config
    在appSettings配置節中加入
        <add key="FCKeditor:BasePath" value="~/PathOfFCKeditor/" />
    使用這種配置方法後,對於項目中任何一個頁面中用到的FCKeditor控件,都不用再配置其BasePath屬性。
    (2)直接對用到的FCKeditor控件進行配置
    在頁面代碼中設置FCKeditor的屬性BasePath爲FCKeditor編輯器文件組的路徑,或者在Page_Init事件處理器中設置其BasePath的值。
    4. 配置FCKeditor編輯器文件上傳路徑
    在web.config的appSettings配置節中加入
        <add key="FCKeditor:UserFilesPath" value="~/YourUploadFilePath" />
   
    這樣,就完成了FCKeditor向ASP.NET頁面的集成工做。

2、配置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表示要顯示的按鈕名字,'/'表示以後的按鈕組在下一行顯示)的按鈕分組的集合。若是不須要整個分組的按鈕,那麼就刪掉該分組(形式爲 [ , , ...]);若是隻是不須要分組中的某個按鈕,刪掉該按鈕。
    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. 其它配置
    對於這兩個配置文件中的配置屬性,從名字上很容易知道它們所表明的含義,基本上均可以定製。但要注意,屬性值的格式要正確。

3、將FCKeditor編輯器文件組ASP.NET化
    FCKeditor編輯器文件組包含了用於它所支持的各類應用技術的文件,因此,對於ASP.NET應用來講,有不少文件是不須要的。
    根目錄下,只保留文件夾editor,文件fckconfig.js、fckeditor.js、fckpackager.xml、fckstyles.xml和fcktemplates.xml。
    子目錄editor/filemanager/connectors下,只保留文件夾aspx。
本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/ELuYouNi/archive/2009/06/23/4291856.aspx
當Asp.Net 驗證控件遇到FCKeditor
使用RequiredFieldValidator控件驗證FCKeditor是否填寫內容的時候會遇到一個問題,
填寫了內容以後第一次提交還會提示沒有填寫內容,這是因爲FCKEditor的編輯框採用的是Iframe,每次提交的時候首先要將Iframe的內容複製到文本框內,再提交,可是驗證控件驗證的是實際的文本框,在沒觸發提交時,這個內容文本框的內容其實是空的。
換上自定義驗證控件CustomValidator
設置ClientValidationFunction="checkFckeditorContent";
利用FCKeditor提供的Javascript API能夠解決這個問題
在頁面上加入如下腳本
<script type="text/javascript">
//<![CDATA[
var fckeditorContentLength = 0;
function checkFckeditorContent(source, arguments)
{
    arguments.IsValid = (fckeditorContentLength  > 0);    
}
function FCKeditor_OnComplete(editorInstance)
{
    editorInstance.Events.AttachEvent('OnBlur', FCKeditor_OnBlur); //附加失去焦點的事件
}
function FCKeditor_OnBlur(editorInstance)
{
    fckeditorContentLength = editorInstance.GetXHTML(true).length;
    //在FCKeditor失去焦點時,若是內容不爲空則隱藏驗證提示
    if(fckeditorContentLength > 0){
        document.getElementById("<%= this.自定義驗證控件.ClientID %>").style.display = "none";
    }
}
//]]>
</script>
問題到此就解決了。
asp.net 控件驗證 FCKeditor發佈:dxy 字體:[增長 減少] 類型:轉載
FCKEditor是一個很不錯的在線編輯器,可稱得上完美,可是它有一個問題,就是在使用RequiredFieldValidator進行驗證的時候,即便內容不爲空,也須要點擊兩次才能完成
通過查找網上的資料,發現好像是它自己的一個問題,原文以下:
With ASP.Net, I need to submit twice when using the RequiredFieldValidator in a FCKeditor instance
FCKeditor will not work properly with the Required Field Validator when the "EnableClientScript" property of the validator is set to "true" (default). Due to a limitation in the default validation system, you must set it to "false".
If you want to do client side validation, you must use a Custom Validator instead and provide the appropriate validation function, using the FCKeditor JavaScript API.
譯文以下(翻譯的很差,你們能看懂就好):
問:爲何在使用ASP.NET的RequiredFieldValidator時,我須要提交兩次
答:當RequiredFieldValidator的EnableClientScript屬性被設置成true時,FCKEditor不能很好的支持RequiredFieldValidator,爲了解除這個限制,你必須把這個屬性設置成爲false 若是你但願使用客戶端驗證,你必須使用Custom Validator製做一個非空驗證來替換RequiredFieldValidator,在其中使用FCKeditor JavaScript API便可。
看了這篇文章,我就去找FCKeditor JavaScript API的文檔,發現它爲客戶端JavaScript的調用提供了一些屬性和方法,因而乎,就按上述的回答寫了一段JavaScript腳原本完成了驗證。
詳細解決方法:首先添加Javascript腳本:
複製代碼 代碼以下:
script language="javascript" type="text/javascript">
var oEditer;
function CustomValidate(source, arguments)
{
var value = oEditer.GetXHTML(true);
if(value=="")
{
arguments.IsValid = false;
}
else
{
arguments.IsValid = true;
}
}
function FCKeditor_OnComplete( editorInstance )
{
oEditer = editorInstance;
}
</script>
`而後添加CustomValidator,設置ClientValidationFunction="CustomValidate",注意千萬別忘了ValidateEmptyText="True",不然不起做用!
這樣,再試試,OK,一次就能夠直接提交了,不會出現提交兩次的bug了
本文來自: 腳本之家( www.jb51.net) 詳細出處參考: http://www.jb51.net/article/18676.htm
 
本文來自CSDN博客,轉載請標明出處: http://blog.csdn.net/guopengzhang/archive/2009/10/24/4721784.aspx
相關文章
相關標籤/搜索