Asp.net中使用WEB编辑控件FCKEditor
先要下載兩個(gè)文件:
FCKEditor(JS文件),FCKEdito.net(COM+組件 DLL文件)
官方網(wǎng)站:http://sourceforge.net
FCKEdiotr的安裝與配置:
把FCKEdiotr文件包直接解壓到項(xiàng)目的根目錄中,這樣根目錄下就得到了一個(gè)FCKEditor文件夾,里面富含所有FCKeditor的核心文件.
然后把FCKEditor.Net文件夾內(nèi)的DLL文件添加到VS工具箱內(nèi),這樣項(xiàng)目的根目錄下就多出一個(gè)Bin文件夾,里面就會(huì)有所添加的FredCK.FCKeditorV2.dll文件.
這樣,安裝就完畢了,下面還要配置一些屬性才可以讓該控件正常使用:
FCKeditor在ASP.NET2.0 Web項(xiàng)目中的配置:
把FCKeditor控件從工具箱上拖動(dòng)下來,在Default頁上你就可以看到這個(gè)FCKeditor了,不過這時(shí)只能看到一個(gè)FCKeditor的站位框,不會(huì)看到運(yùn)行時(shí)的效果,在屬性(Property)面板上可以設(shè)置這個(gè)FCKeditor對(duì)象的一些基本屬性。比較重要的是BasePath屬性,如果先前FCKeditor就定在了根目錄的FCKeditor下,就設(shè)置成~/FCKeditor/,如果是別的目錄名就換成相應(yīng)的值(注意:控件默認(rèn)值是/FCKeditor/,因?yàn)槲覀兪褂玫氖欠?wù)器控件設(shè)置了runat="server"屬性所以要顯式的聲明BasePath="~/FCKeditor/")。把Default.aspx切換到源代碼模式(Source),我們可以看到IDE自動(dòng)生成的代碼:
<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>
<FCKeditorV2:FCKeditor ID="FCKeditor1" runat="server"></FCKeditorV2:FCKeditor>
針對(duì)這個(gè)示例我配置的代碼如下:
<FCKeditorV2:FCKeditor
??? ID="FCKeditor1"
??? runat="server"
??? AutoDetectLanguage="false"
??? DefaultLanguage="zh-cn"
??? BasePath="~/FCKeditor/">
</FCKeditorV2:FCKeditor>
到了這里,FCKeditor的配置并沒有真正的完成,因?yàn)樗锩娴囊粋€(gè)強(qiáng)大功能我們還沒正確配置:文件上傳。
在Default.aspx的運(yùn)行模式下,點(diǎn)FCKeditor的“插入/編輯圖像”(又或者是Flash)功能,在彈出框點(diǎn)“瀏覽服務(wù)器”,又彈出一個(gè)對(duì)話框,此時(shí)隨即出現(xiàn)的是一個(gè)錯(cuò)誤提示框XML request error: Forbidden(403).
得到這樣的錯(cuò)誤有Web開發(fā)經(jīng)驗(yàn)的都知道403應(yīng)該是讀寫權(quán)限的問題。可是為什么呢?原因在于沒有配置UserFiles路徑。
我們?cè)贔CKPro根目錄下,新建一個(gè)空目錄Files。連同BasePath的設(shè)置通常的做法是這樣的:
打開工程的Web. Config文件,修改appSettings元素,配置如下:
<appSettings>
<add key="FCKeditor:BasePath" value="~/FCKeditor/"/>
<add key="FCKeditor:UserFilesPath" value="/項(xiàng)目文件夾名/Files" />
</appSettings>
設(shè)置了FCKeditor:BasePath后就不用再每次使用FCKeditor實(shí)例時(shí)指定BasePath屬性了,FCKeditor:UserFilesPath則是制定我們所有上傳的文件的所在目錄。一定要設(shè)置成/FCKPro/Files而不是~/Files,因?yàn)镕CKeditor使用這個(gè)值來返回你上傳后的文件的相對(duì)路徑到客戶端,~/Files的形式是ASP.NET在服務(wù)可以編譯解釋的,但是在客戶端的靜態(tài)就不懂這是什么了。如果使用~/Files后,那么所有上傳文件的返回路徑都是~/Files形式的,你就會(huì)得到這樣的鏈接http://~/Files/Image/logo.gif這樣的鏈接解果就是路徑為找到。所以才要我們上述那樣設(shè)置,這是在開發(fā)階段,如果在工程完成后發(fā)布時(shí)請(qǐng)記住把/FCKPro/Files改成/Files,因?yàn)殚_發(fā)階段VS2005在運(yùn)行項(xiàng)目時(shí)的URL是http://localhost/項(xiàng)目名稱/的形式,發(fā)布后在Server上建立站點(diǎn),跟路徑就是http://www.abc.com/的形式了,所以發(fā)布后一定要改過來。這些地方是在使用FCKeditor2.2+ASP.NET2.0時(shí)經(jīng)常發(fā)錯(cuò)誤而又莫名其所云的地方。
至此上傳功能還差最關(guān)鍵的一步。在FCKeditor所在根目錄下(項(xiàng)目文件件名/FCKeditor/)找到fckconfig.js文件,用文本編輯器打開,在大概132行(大概是因?yàn)橹澳苍S參考其它資料更改過這個(gè)文件了)的地方找到:
var _FileBrowserLanguage??? = 'asp' ;????? // asp | aspx | cfm | lasso | perl | php | py
var _QuickUploadLanguage = 'asp' ;????? // asp | aspx | cfm | lasso | php
把這兩行賦值代碼的值由asp改成aspx,保存關(guān)閉這個(gè)文件。這樣基本功能就完成了
對(duì)于開發(fā)中使用文件上傳功能遇到 XML request error: Internal Server Error(500) 錯(cuò)誤的解決辦法。
因?yàn)锳SP.NET2.0新增了Theme功能,所以如果在你的工程中你對(duì)Web.config使用到了styleSheetTheme或theme的話那就要再多修改一下。
還是到FCKeditor所在的目錄,分別打開\editor\filemanager\upload\aspx\upload.aspx和\editor\filemanager\browser\default\connectors\aspx\connector.aspx兩個(gè)aspx文件,在page標(biāo)簽中添加Theme=""或StyleSheetTheme=""看你在工程使用的是什么就修改什么。修改后如下:
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" Theme="" %>
或
<%@ Page language="c#" Inherits="FredCK.FCKeditorV2.Uploader" AutoEventWireup="false" StylesheetTheme="" %>
這樣就解決了500的內(nèi)部錯(cuò)誤.
轉(zhuǎn)載于:https://www.cnblogs.com/MaxWoods/archive/2010/05/06/1728881.html
總結(jié)
以上是生活随笔為你收集整理的Asp.net中使用WEB编辑控件FCKEditor的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用postman请求响应Invalid
- 下一篇: linux下如何查看某软件是否已安装