FCKeditor 2.X 在ASP.Net下的设置.修改.使用

FCKeditor相关资料简介:

官方网站 http://www.fckeditor.net/

官方文档 http://wiki.fckeditor.net/

下载地址 http://www.fckeditor.net/download/default.html

官方演示 http://www.fckeditor.net/demo/default.html


配置ASP看这里 FCKeditor 2.X 在ASP下的设置.修改.使用
fckeditor实现自动添加标题图片


针对于ASP.NET开发者来说,你有两种选择:

1.         只使用FCKeditor,下载 http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=75845,然后自行配置其中的几个核心js文件。对此发开不作为本文所讨论的范畴。

2.         使用FCKeditor.Net,下载 http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=137125。需要声明的是,这个文件只是一个ASP.NET控件DLL文件,并不包括FCKeditor的编辑器内核。所以你还应该下载上一种方式中提到的文件包。



下面结合一个ASP.NET2.0的项目来具体看看FCKeditor的安装、配置。在开始之前请先下载FCKeditor文件包和FCKeditor.Net 服务器控件。启用VS2005新建一个C#的WEB Site工程,取名FCKPro。



FCKeditor安装:

所谓安装就是一个简单的拷贝过程。

把下载的FCKeditor_2.*.zip文件包直接解压缩到FCKPro的根目录下,这样根目录下就得到一个FCKeditor文件夹,里面富含所有FCKeditor的核心文件。

然后把下载的FCKeditor.Net_2.*.zip随便解压缩到你硬盘的一个空目录,里面是FCKeditor.Net的源代码(基于.NET1.1的C#工程),你可以用VS2003来对它进行再度开发,本文尚不涉及本内容,我们只是直接使用FCKeditor.Net工程目录下的\bin\Release目录中的FredCK.FCKeditorV2.dll文件。

在VS2005中添加对FredCK.FCKeditorV2.dll的引用:

1.         在FCKPro工程浏览器上右键,选择添加引用(Add Reference…),找到浏览(Browse)标签,然后定位到你解压好的FredCK.FCKeditorV2.dll,确认就可以了。这时,FCKPro工程目录下就多了一个bin文件夹,里面包含FredCK.FCKeditorV2.dll文件。当然,你也可以完全人工方式的来做,把FredCK.FCKeditorV2.dll直接拷贝到FCKPro\bin\下面,VS2005在编译时会自动把它编译进去的。

2.         为了方便RAD开发,我们把FCKeditor控件也添加到VS的工具箱(Toolbox)上来,展开工具箱的常用标签组(General),右键选择组件(Choose Items…),在对话框上直接找到浏览按钮,定位FredCK.FCKeditorV2.dll,然后确认就可以了。这时工具箱呈现

我的经验告诉我,这样会省去很多在开发时使用FCKeditor控件时要添加的声明代码。



至此,你已经完成了FCKeditor的安装,并可以在你的项目中使用FCKeditor了,当然后面还有很多需要配置的东西。



FCKeditor在ASP.NET2.0 Web项目中的配置:

现在,我开始来把FCKeditor应用在我们的项目中。打开Default.aspx,切换到设计模式(Design),把FCKeditor控件从工具箱上拖动下来,在Default页上你就可以看到这个FCKeditor了,不过这时只能看到一个FCKeditor的站位框,不会看到运行时的效果,鼠标选中FCKeditor1后,在属性(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>




如果当初没有把FCKeditor添加到工具箱上,那么应该在添加引用后自己手动来添加这些代码。

在源代码模式下,把鼠标点在FCKeditorV2:FCKeditor标签内容上,它会加粗显示,这时属性面板上显示出了FCKeditor服务器控件的全部属性,比在设计模式时多出了许多。

属性列表:

AutoDetectLanguage
BaseHref
BasePath
ContentLangDirection

CustomConfigurationsPath
Debug
DefaultLanguage
EditorAreaCSS

EnableSourceXHTML
EnableViewState
EnableXHTML
FillEmptyBlocks

FontColors
FontFormats
FontNames
FontSizes

ForcePasteAsPlainText
ForceSimpleAmpersand
FormatIndentator
FormatOutput

FormatSource
FullPage
GeckoUseSPAN
Height

ID
ImageBrowserURL
LinkBrowserURL
PluginsPath

runat
SkinPath
StartupFocus
StylesXMLPath

TabSpaces
ToolbarCanCollapse
ToolbarSet
ToolbarStartExpanded

UseBROnCarriageReturn
Value
Visible
Width



事件列表:

OnDataBinding

OnDisposed

OnInit

OnLoad

OnPreRender

OnUnload





以上属性和事件的使用在此不一一的赘述了,请先自行摸索一下,目前我也没找到相关资料,不过都不是很难,如果你有在asp下使用FCKeditor的经验,应该明白其中一些属性的意义,和fckconfig.js的设置项意义相同。以后有时间我会再把这部分整理好。需要说明的是FCKeditor2.2的fckconfig.js和2.0版本的有了较大改进,体积更小,配置方式也更加灵活,具体请自行下载比较。

针对这个示例我配置的代码如下:

程序代码
<FCKeditorV2:FCKeditor

     ID="FCKeditor1"

     runat="server"

     AutoDetectLanguage="false"

     DefaultLanguage="zh-cn"

     BasePath="~/FCKeditor/">

</FCKeditorV2:FCKeditor>


好,现在运行一下这个页面,允许修改Web.Config(这样IDE会自动在工程下添加一个Web.Config文件)。看到效果了吧!

有人会问:怎么得到一个HTTP Error 404 - Not Found.的错误呢?得到这个错误一般是BasePath没有设置正确,参看上述提到的BasePath注意事项仔细检查!

到了这里,FCKeditor的配置并没有真正的完成,因为它里面的一个强大功能我们还没正确配置:文件上传。

在Default.aspx的运行模式下,点FCKeditor的“插入/编辑图像”(又或者是Flash)功能,在弹出框点“浏览服务器”,又弹出一个对话框,此时随即出现的是一个错误提示框XML request error: Forbidden(403).

得到这样的错误有Web开发经验的都知道403应该是读写权限的问题。可是为什么呢?原因在于没有配置UserFiles路径。

我们在FCKPro根目录下,新建一个空目录Files。连同BasePath的设置通常的做法是这样的:

打开FCKPro工程的Web. Config文件,修改appSettings元素,配置如下:

程序代码
<appSettings>

<add key="FCKeditor:BasePath" value="~/FCKeditor/"/>

<add key="FCKeditor:UserFilesPath" value="/FCKPro/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所在根目录下(FCKPro/FCKeditor/)找到fckconfig.js文件,用文本编辑器打开,在大概132行(大概是因为之前您也许参考其它资料更改过这个文件了)的地方找到:



程序代码
var _FileBrowserLanguage     = 'asp' ;       // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage = 'asp' ;       // asp | aspx | cfm | lasso | php




把这两行赋值代码的值由asp改成aspx,保存关闭这个文件。

好了,大功告成了!在此运行FCKPro项目,使用浏览服务器功能,OK了吧?



再提一下:

对于开发中使用文件上传功能遇到 XML request error: Internal Server Error(500) 错误的解决办法。

遇到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的内部错误


针对最新版FCKeditor 2.51 需要对上传进行如下配置

修改fckeditor\editor\filemanager\connectors\aspx\config.ascx页面

private bool CheckAuthentication() {

// WARNING : DO NOT simply return "true". By doing so, you are allowing

// "anyone" to upload and list the files in your server. You must implement // some kind of session validation here. Even something very simple as... //

// 添加身份验证,判断是否登陆,返回bool

return true;

}




把FredCK.FCKeditorV2上传文件按20070510171005230010.jpg方式命名

打开FredCK.FCKeditorV2项目
找到FileBrowser\FileWorkerBase.cs第50行 将
sFileName = System.IO.Path.GetFileName( oFile.FileName );
修改为
程序代码
//sFileName = System.IO.Path.GetFileName( oFile.FileName );
             DateTime dt = DateTime.Now;
             sFileName = dt.Year.ToString() + dt.Month.ToString() + dt.Day.ToString() +
                 dt.Hour.ToString() + dt.Minute.ToString() + dt.Second.ToString() + dt.Millisecond +
                 new System.Random().Next(0, 999).ToString();
             sFileName += System.IO.Path.GetExtension(oFile.FileName);


这样,sFileName就是形如“20070510171005230010.jpg”的文件名了,并且不可能出现重复文件名
的现象。


如果你的站比较大,那么可能就要修改上传文件的方法,加上自动重命名和分月目录,修改Uploader.cs:



程序代码
/*

* FCKeditor - The text editor for internet

* Copyright (C) 2003-2005 Frederico Caldeira Knabben

*

* Licensed under the terms of the GNU Lesser General Public License:

*         http://www.opensource.org/licenses/lgpl-license.php

*

* For further information visit:

*         http://www.fckeditor.net/

*

* "Support Open Source software. What about a donation today?"

*

* File Name: Uploader.cs

*     This is the code behind of the uploader.aspx page used for Quick Uploads.

*

* File Authors:

*         Frederico Caldeira Knabben ([email protected])

*/


using System ;

using System.Globalization ;

using System.Xml ;

using System.Web ;


namespace FredCK.FCKeditorV2

{

     public class Uploader : FileWorkerBase

     {

         protected override void OnLoad(EventArgs e)

         {

             // Get the posted file.

             HttpPostedFile oFile = Request.Files["NewFile"];


             // Check if the file has been correctly uploaded

             if (oFile == null || oFile.ContentLength == 0)

             {

                 SendResults(202);

                 return;

             }


             int iErrorNumber = 0;

             string sFileUrl = "";


             // Get the uploaded file name.

             //string sFileName = System.IO.Path.GetFileName( oFile.FileName ) ;


             //检查建立分月目录

             string sFolder = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString();


             System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(System.IO.Path.Combine(this.UserFilesDirectory, sFolder));


             if (!dir.Exists)

             {

                 dir.Create();

             }


             //根据日期和随机数设置自动重命名文件

             Random rd = new Random();

             string sFileName = sFolder + "/" + DateTime.Now.ToString("yyyyMMddHHmmss") + rd.Next(10).ToString();


             int iCounter = 0;


             while (true)

             {

                 //防止没有扩展名的处理,弃用内置方法

                 string sFileExtension = string.Empty;

                 try

                 {

                     sFileExtension = oFile.FileName.Substring(oFile.FileName.LastIndexOf('.'), oFile.FileName.Length - oFile.FileName.LastIndexOf('.'));


                 }

                 catch

                 {

                     //Exception ex = new Exception(oFile.FileName);

                     //throw ex;

                     sFileExtension = ".jpg";

                 }

                 string sFilePath = System.IO.Path.Combine(this.UserFilesDirectory, sFileName) + sFileExtension;



                 if (System.IO.File.Exists(sFilePath))

                 {

                     iCounter++;

                     sFileName =

                         sFileName +

                         "(" + iCounter + ")" +

                         sFileExtension;


                     iErrorNumber = 201;

                 }

                 else

                 {

                     oFile.SaveAs(sFilePath);


                     sFileUrl = System.IO.Path.Combine(this.UserFilesPath, sFileName + sFileExtension);

                     break;

                 }

             }


             SendResults(iErrorNumber, sFileUrl, sFileName);

         }


         #region SendResults Method


         private void SendResults( int errorNumber )

         {

             SendResults( errorNumber, "", "", "" ) ;

         }


         private void SendResults( int errorNumber, string fileUrl, string fileName )

         {

             SendResults( errorNumber, fileUrl, fileName, "" ) ;

         }


         private void SendResults( int errorNumber, string fileUrl, string fileName, string customMsg )

         {

             Response.Clear() ;


             Response.Write( "<script type="text/javascript">" ) ;

             Response.Write( "window.parent.OnUploadCompleted(" + errorNumber + ",'" + fileUrl.Replace( "'", "\'" ) + "','" + fileName.Replace( "'", "\'" ) + "','" + customMsg.Replace( "'", "\'" ) + "') ;" ) ;

             Response.Write( "</script>" ) ;


             Response.End() ;

         }


         #endregion

     }

}



引用内容
FCKeditor2.4.2.zip是其最新的Javascript文件和图片等;

FCKeditor.NET.zip是一个ASP.NET控件DLL文件。



下面结合一个ASP.NET2.0的项目来具体看看FCKeditor的安装、配置、使用。在开始之前请先下载FCKeditor文件包和FCKeditor.Net 服务器控件。启用VWD2005新建一个C#的WEB Site工程,取名FCKPro。

FCKeditor安装:

所谓安装就是一个简单的拷贝过程。

把下载的FCKeditor2.4.2.zip文件包直接解压缩到FCKPro的根目录下,这样根目录下就得到一个FCKeditor文件夹,里面富含所有FCKeditor的核心文件。

然后把下载的FCKeditor.Net.zip随便解压缩到你硬盘的一个空目录,里面是FCKeditor.Net的源代码,你可以对它进行再度开发,本文尚不涉及本内容,我们只是直接使用其目录下的\bin\Debug目录中的FredCK.FCKeditorV2.dll文件。

在VS2005中添加对FredCK.FCKeditorV2.dll的引用:

1.在FCKPro工程浏览器上右键,选择添加引用(Add Reference…),找到浏览(Browse)标签,然后定位到你解压好的FredCK.FCKeditorV2.dll,确认就可以了。这时,FCKPro工程目录下就多了一个bin文件夹,里面包含FredCK.FCKeditorV2.dll文件。当然,你也可以完全人工方式的来做,把FredCK.FCKeditorV2.dll直接拷贝到FCKPro\bin\下面,VS2005在编译时会自动把它编译进去的。

2.为了方便RAD开发,我们把FCKeditor控件也添加到VS的工具箱(Toolbox)上来,展开工具箱的常用标签组(General),右键选择组件(Choose Items…),在对话框上直接找到浏览按钮,定位FredCK.FCKeditorV2.dll,然后确认就可以了。这时工具箱呈现
这样会省去很多在开发时使用FCKeditor控件时要添加的声明代码。

至此,你已经完成了FCKeditor的安装,并可以在你的项目中使用FCKeditor了,当然后面还有很多需要配置的东西。



FCKeditor详细的设置:

进入FCKeditor文件夹,编辑 fckconfig.js 文件。

1、 此步骤是必须的,也是最重要的一步。

修改

var _FileBrowserLanguage = 'asp' ; // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage = 'asp' ; // asp | aspx | cfm | lasso | php

改为

var _FileBrowserLanguage = 'aspx' ; // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage = 'aspx' ; // asp | aspx | cfm | lasso | php

2、配置语言包。有英文、繁体中文等,这里我们使用简体中文。

修改

FCKConfig.DefaultLanguage = 'en' ;



FCKConfig.DefaultLanguage = 'zh-cn' ;

3、配置皮肤。有default、office2003、silver风格等,这里我们可以使用默认。

FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/' ;

4、在编辑器域内可以使用Tab键。(1为是,0为否)

FCKConfig.TabSpaces = 0 ; 改为FCKConfig.TabSpaces = 1 ;

5、加上几种我们常用的字体的方法,例如:

修改

FCKConfig.FontNames = 'Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana' ;



FCKConfig.FontNames = '宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana'


6、编辑器域内默认的显示字体为12px,想要修改可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可。如font-size: 14px;


7、关于安全性。

如果你的编辑器用在网站前台的话,那就不得不考虑安全了,在前台千万不要使用Default的toolbar,要么自定义一下功能,要么就用系统已经定义好的Basic,也就是基本的toolbar,

修改

FCKConfig.ToolbarSets["Basic"] = [

     ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','-','About']



FCKConfig.ToolbarSets["Basic"] = [

['Bold','Italic','-','OrderedList','UnorderedList','-',/*'Link',*/'Unlink','-','Style','FontSize','TextColor','BGColor','-','Smiley','SpecialChar','Replace','Preview']

] ;

这是我改过的Basic,把图像功能去掉,把添加链接功能去掉,因为图像和链接和flash和图像按钮添加功能都能让前台页直接访问和上传文件,要是这儿不改直接给你上传个木马还不马上玩完?

当然也可以配置一下WebConfig,也能让它确保安全,接下来我们将讲到。

FCKPro工程项目的设置:

1、配置WebConfig,在<appSettings>节点添加,如下所示:

<appSettings>

     <add key="FCKeditor:BasePath" value="/项目名称/fckeditor/"/>

     <add key="FCKeditor:UserFilesPath" value="/项目名称/Files/" />

</appSettings>

说明:BasePath是fckeditor所在路径,fckeditor由于我们直接放网站目录下这样写就可以,如果您的网站多放几层适当调整即可。UserFilesPath是所有上传的文件的所在目录。我们新建了一个Files文件夹放在了项目中做为上传文件的所在目录,这里为了方便,但由于考虑到安全性,我们建议Files要单独做wwwroot目录下的一个站点比较好,和我们的站点FCKEditor平行。不要把它放FCKEditor里,为什么呢?因为Files是要让客户有写的权限的,如果放FCKEditor下很危险。Files目录要有写的权限。你根据自己网站需求设置那个帐号,本文为方便设置User实际中你可能用ASP.NET帐号更合理。

2、在FCKpro工程项目中编写一个最简单的页面

<%@ Page Language="C#"   AutoEventWireup="true"   CodeFile="Default.aspx.cs" Inherits="_Default" validateRequest="false" %>



<%@ Register Assembly="FredCK.FCKeditorV2" Namespace="FredCK.FCKeditorV2" TagPrefix="FCKeditorV2" %>

// 这里要主要两个参数

// 默认为<%@ Page Language="C#"   AutoEventWireup="true"   CodeFile="Default.aspx.cs" Inherits="_Default" %>

// 我们要添加一个参数 validateRequest=false,否则提交带html代码的内容会报错

// 从客户端(...)中检测到有潜在危险的 Request.Form 值。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<html xmlns=" http://www.w3.org/1999/xhtml" >

<head runat="server">

     <title>无标题页</title>

</head>

<body>

     <form id="form1" runat="server">

     <div>

         <FCKeditorV2:FCKeditor ID="FCKeditor1" runat="server">

         </FCKeditorV2:FCKeditor>

         </div>

     </form>

</body>

</html>

如何获取其内容呢?读取FCKeditor1控件的Value属性值即可。



结束语:现在的文本编辑器很多,FCKeditor算是一个比较难用的东东,还有个类似的控件FreeTextBox也很好用,不过它的最新版似乎收费了。

FCKeditor精简版的制作方法(附)。

 进入FCKeditor文件夹,把所有“_”开头的文件和文件夹删掉,这些都是一些范例,只保留editor文件夹、fckconfig.js、fckeditor.js、fckstyles.xml、fcktemplates.xml就可以了;

  进入editor文件夹,删掉“_source”文件夹,里面放的同样是源文件;

  退回上一级目录进入filemanager文件夹,有browser和upload两个文件夹。进入browser\default\connectors,只保留aspx文件夹,其余的删掉;mcpuk目录亦可删除;upload也一样,只保留aspx文件夹;

  退到editor再进入images文件夹,smiley里面放的是表情图标,有msn和fun两个系列,如果你想用自己的表情图标,可以把它们都删除;如果你想用这里的表情图标那就不要删了;

  lang里面放的是语言包,如果只是用简体中文,那么只保留fcklanguagemanager.js、zh-cn.js两个文件就行了,建议也保留en.js(英文)、zh.js(繁体中文)两个文件,fcklanguagemanager.js是语言配置文件,有了它才能和fckconfig.js里的设置成对,对应上相应的语言文件,一定要保留!

  再退出lang文件夹,进入skins文件夹,如果你想使用FCKeditor默认的奶黄色,那就把除了default文件夹外的另两个文件夹直接删除,如果想用别的,那就看你自己的喜好了。

至此,文件精简完毕,由原来的2.55M变成现在的797K了。接着修改设置。

PS:
注意一点,当你碰上xml request 500时候检查一下:
1.你的上传目录是否为EVERYONE 完全控制。
2.你的配置文件是否正确,默认应该为你的/虚拟目录/文件夹名称/
3.调用页面PAGE是否有validateRequest=false属性
按照上面的方法绝对可以完成。


引用内容
附:

一、如何设置上传文件语言

把FCKeditor根目录下面的fckconfig.js文件里

var _FileBrowserLanguage         = 'asp' ;         // asp | aspx | cfm | lasso | perl | php | py

var _QuickUploadLanguage         = 'asp' ;         // asp | aspx | cfm | lasso | php

这两行中改成您所需要调用的编辑器语言,如用asp.net则改为aspx;

二、解决中文的问题:

在web.config中加入:

<globalization requestEncoding="GB2312" responseEncoding="GB2312"/>

这样设置后可以显示中文的文件,但URL地址也是中文的;

如果服务器对中文地址的解析不好,可能导致图片无法浏览;

所以修改:editor\filemanager\browser\default\frmresourceslist.html

中的OpenFile函数,把

window.top.opener.SetUrl( fileUrl ) ;

修改为:

window.top.opener.SetUrl( escape(fileUrl) ) ;

三.设置上传的目录:

1:在web.config中设置:

<appSettings>

         <add key="FCKeditor:UserFilesPath" value="/fck/UpLoad/" />

</appSettings>

2:在Session中设置:

在editor\filemanager\browser\default\connectors\aspx\connector.aspx中加入以下代码:

<script runat="server" language="C#">

protected override void OnInit(EventArgs e)

{

       Session["FCKeditor:UserFilesPath"] = "/fck/UpLoad1/";

}

</script>

附:如何在asp.net中动态设置上传图片的路径?

1.在javascript中修改FCKConfig.ImageBrowserURL的值,修改方式如下:

FCKConfig.ImageBrowserURL += "?Path=要上传的文件路径";

如:要把文件上传到站点根目录的UploadFile文件夹中,则设置为:

FCKConfig.ImageBrowserURL += "?Path=/UploadFile";

2.在"editor\filemanager\browser\default\connectors\aspx\connector.aspx"文件最后中增加以下程序:

<script runat="server" language="C#">

         protected override void OnInit(EventArgs e)

         {

if( Request.QueryString["Path"]==null ){

       Session["FCKeditor:UserFilesPath"] = "/UpLoadFiles/"; //设置默认值

}else{

       Session["FCKeditor:UserFilesPath"] = Request.QueryString["Path"];

}


引用内容
另外,在ASP.NET中以以下步骤使用

1.把FCKEDITOR添中到工具箱

2.托拽FCKEDITOR控件到页面

3.为其指定名称

4.FCKEDITOR类的所有属性不光可以在代码中使用,而且可以作为FCKEDITOR控件的属性直接使用,例如,要改变皮肤,可以在UI页面中指定SkinPath="/fckeditor/editor/skins/office2003"即可,其实FCKEDITOR的ASP.NET版本可以做得更好,你可以找到FCKEDITOR ASP.NET 2.1的源文件,然后修改该控件的设计,为其暴露更多有用的属性,重新编译即可

5,POSTBACK后的数据,使用FCKEDITOR控件的value属性获得

6.由于默认状态下,ASP.NET不允许提交含有HTML及JAVASCRIPT的内容,因此,你必须将使用FCKEDITOR的页面的ValidateRequest设为false.(<%@page validteRequest="false" %>即可)

你可能感兴趣的:(fckeditor)