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