下面為詳細的c#配置方法
CKEditor和CKFinder的最新版可以到官方網站(http://cksource.com)上下載獲得。
把以上兩個資源放到網站的根目錄: /CKEditor 和 /CKFinder (不區分大小寫)
在頁面使用 CKEditor:
一、
<textarea cols="80" id="prcontent" name="content" rows="50">hello world!</textarea>
<script type="text/javascript">
CKEDITOR.replace('content', { height: 200, width: 520 });
</script>
二、
還可以做成控件,放到工具箱:
1、右擊一個選項卡點(選則項...)
2、點擊(瀏(覽B)...)
3、找到你項目bin文件夾下的(CKEditor.NET.dll)確定就行
然后如果用到這個就可以直接拖拽到你的頁面上,跟拖拽textbox或lable一樣
CKEditor 本身不自帶上傳功能,所以需要配合CKFinder才可以實現上傳
第一步:網站需要引用CKFinder的dll(目錄:/CKFinder/bin/Release/CKFinder.dll)
第二步:配置CKEditor的config.js (目錄:/CKEditor/config.js ) 在CKEDITOR.editorConfig函數里加上,不需要的功能可以去掉
config.filebrowserBrowseUrl= '/ckfinder/ckfinder.html'; //上傳文件時瀏覽服務文件夾
config.filebrowserImageBrowseUrl= '/ckfinder/ckfinder.html?Type=Images'; //上傳圖片時瀏覽服務文件夾
config.filebrowserFlashBrowseUrl= '/ckfinder/ckfinder.html?Type=Flash'; //上傳Flash時瀏覽服務文件夾
config.filebrowserUploadUrl = '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Files'; //上傳文件按鈕(標簽)
config.filebrowserImageUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Images'; //上傳圖片按鈕(標簽)
config.filebrowserFlashUploadUrl= '/ckfinder/core/connector/aspx/connector.aspx?command=QuickUpload&type=Flash'; //上傳Flash按鈕(標簽)
配置完成后CKEditor 就帶有上傳功能了,但假如上傳圖片時,圖片的文件是用原來圖片的名字,想改為隨機文件名呢,怎么辦?接着看第三步。
第三步:修改CKFinder的源碼。CKFinder自帶有源碼,目錄:/CKFinde/_source
在VS里新建一個 現在的項目 指向CKFinde/_source/CKFinder.Net.sln(這個我是在VS里的解決方案里面添加已有的項目打開的,打開的是CKFinder.Net.csproj然后按着下面的修改弄的)
1) 打開/Settings/ConfigFile.cs文件
定位27行,添加一個屬性:public bool RandomReName; //隨機重命名
定位67行,給剛才的屬性賦值:RandomReName = true; //默認值為true
保存關閉文件
2) 打開/Connector/Config.cs文件
定位62行,添加一個屬性:
public bool RandomReName
{
get { return Settings.ConfigFile.Current.RandomReName; }
}
保存關閉文件
3) 打開/Connector/CommandHandlers/FileUploadCommandHandler.cs文件
定位64行,添加一句判斷代碼:
if ( Config.Current.RandomReName) //使用隨機名
sFileName = DateTime.Now.ToString("yyyyMMddHHmmssfff") + "." + sExtension;(開始提示sExtension沒定義什么的,后來查找了下sExtension,把這段代碼放到有sExtension的后面了,可以了)
保存關閉文件
4) 重新生成項目,把/ckfinder/_source/bin/Debug/CKFinder.dll覆蓋/ckfinder/bin/Release/CKFinder.dll或者網站項目去掉之前加入的引用再重新從CKFinder.Net項目里的Dll
最后一步:打開/ckfinder/config.ascx
定位42行,添加一屬性:(其實這個加不加都可以的,因為之前有設置默認值,但使用原名時一定要設置為false)
//上傳完畢后使用隨機文件名
RandomReName = true;
保存關閉
好了,到此已經配置成功了,CKEditor 可以有上傳功能了。其它的功能的設置,有空再繼續研究~
還要提醒一句:CKEditor 和 CKFinder 文件夾里有很多不需要的東西,例如名字帶有下划線前輟的,.net項目不需要php,asp的。
如果上傳文件出現錯誤:因為安全原因,文件不可瀏覽. 請聯系系統管理員並檢查CKFinder配置文件.
需要修改config.ascx文件中
public override bool CheckAuthentication()
{
reture false;
}
修改為:
public override bool CheckAuthentication()
{
// 窗體驗證時用
return Request.IsAuthenticated;
//reture true; 不推薦使用
}
自己遇到的問題:缺少Design數據集,然后引用了一下,提示我好多重復的東西(經檢查是因為在修改自定義文件名時,重復引用了ckfinder.dll,刪掉了引用里面的ckfinder.dll可以了)
經實踐這個教程可以用,有問題的朋友可以留言