FCKeditor 在ASP.Net 中的使用说明[转贴]

FCKeditor 是一个运行在浏览器上的 JavaScript 应用程序。他可以不依赖任何服务器端语言运行。不过,更好的使用方法是你使用一种服务器端语言来调用他。

ASP.Net 中,有一个现成的工具包可以让你把 FCKeditor 作为一个WebForms控件使用。这个工具包叫FCKeditor.Net

要在你的 ASP.Net web 页面中使用他,请按照以下步骤执行。

前提条件

在进行以下几步前,你必须已经下载并且安装了最新版本的FCKeditor编辑器工具包(将他COPY到你的网站)。FCKeditor.Net 工具包并不包含FCKeditor编辑器的代码。(将编辑器JavaScript代码放到你网站的/FCKeditor/ 目录)。你能从下面的地址下载到编辑器:
http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=75845

第一步

确保编辑器已经在你网站的 "/FCKeditor/" 目录里。现在,你需要下载FCKeditor ASP.Net 控件的DLL文件到你的页面。你能在下面的地址找到最新的版本:

http://sourceforge.net/project/showfiles.php?group_id=75348&package_id=137125

第二步

在下载的ZIP文件中包含控件的源代码和一个已经编译好的文件("bin/Release/FredCK.FCKeditorV2.dll")。大多少情况下,你并不需要对源代码做任何改变。你仅仅需要在你的项目中引用编译好的DLL文件,引用有2个方法:

  • 手动复制FredCK.FCKeditorV2.dll 文件到你网站的"bin"目录
  • 在你的Visual Studio.Net项目中按右键并选择“添加引用” ,从你保存FredCK.FCKeditorV2.dll 文件的地方选择他。
  • 你也可以直接在Visual Studio.Net工具箱中包含这个控件,在工具箱中右键,选择“添加项”,然后,选择FredCK.FCKeditorV2.dll
  • 确保你已经有了最新的DLL文件版本。

第三步

现在就可以在你的网站上使用他了,新建一个ASP.Net页面,在页面上创建一个实例,有2个方法:

  • 把控件从工具箱中拖到你的页面(如果你已经在“第二步”中把他加到你的工具箱)
  • 在你的ASP.Net页面顶部包含以下代码:

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

并且在<FORM runat="server">中添加控件的标签:

<FCKeditorV2:FCKeditor id="FCKeditor1" BasePath="~/FCKeditor/" runat="server" />

注意: BasePath 属性所指定的目录就是FCKeditor 所在的目录

全部代码如下

<%@ Page ValidateRequest="false" Language="VB" AutoEventWireup="false" %>

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

<html>

 <head>

    <title>FCKeditor - Sample</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

 </head>

 <body>

    <form runat="server">

      <FCKeditorV2:FCKeditor id="FCKeditor1" BasePath="~/FCKeditor/" runat="server" />

      <br />

      <input type="submit" value="Submit" runat="server" />

    </form>

 </body>

</html>

文件浏览和上传

为了方便上传文件和图片到服务器,FCKeditor拥有文件管理和快速上传功能。

FCKeditor的这个功能依赖于服务器端的语言。你只需要为你使用的那种语言做简单的设置。为了在ASP.Net中使用,你要打开FCKeditor目录中的fckconfig.js 文件,找到_FileBrowserLanguage _QuickUploadLanguage ,并将他们的值设置为'aspx'

你的网站必须有上传文件的权限,还要预先设置好上传目录。默认情况下, FCKeditor.Net 会在网站的根目录下查找UserFiles 目录,并把所有文件都放到这里,所以要先建好这个目录

注意: 需要给予ASPNET /或者 IUSR_<ComputerName> 用户对UserFile目录的文件/目录的写和创建权限。

示范

你可以在FCKeditor.Net 工具包的"_samples/aspx"目录中找到一些告诉你如何使用的示范文件。把这个目录复制到FCKeditor安装的同一个目录就可以使用了。

最小安装示范

这是一个假设的在ASP.Net网站中使用FCKeditor 的情况

 

我们可以看到,这个网站包括:

  • FredCK.FCKeditorV2.dll 文件, FCKeditor.Net 工具包中复制到网站根目录中的bin 目录里。 (查看 "第一、第二步")
  • FCKeditor 目录,编辑器的JavaScript代码(来自FCKeditor 工具包). (查看 "前提条件")
  • UserFiles 目录,放置用户上传文件的地方
  • MyPage.aspx 页,包含上面演示如何使用编辑器的代码。 (查看 "第三步")

小技巧

你可以在web.config 配置文件中设置默认的UserFiles 路径,这样,在你网站里使用的所有FCKeditor 编辑器都可以使用这个设置:

<appSettings>

   <add key="FCKeditor:UserFilesPath" value="/Wherever/Directory/" />

</appSettings>

ASP.Net 1.1 2.0

在使用FCKeditor 的页面,需要把ValidateRequest 属性为false

<%@ Page Language="VB" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" ValidateRequest="false" %>

这是因为由编辑器建立的一些输入会被.Net Framework认为有危险。

ASP.Net 2.0 和主题

如果你正在使用Asp.net 2.0 和主题:你必须打开\editor\filemanager\upload\aspx\upload.aspx 和、\editor\filemanager\browser\default\connectors\aspx\connector.aspx  并且在第一行添加或者修改Theme=""

<%@ Page Language="VB" Inherits="FredCK.FCKeditorV2.FileBrowserConnector" AutoEventWireup="false" Theme="" %>

在代码中修改UserFilesPath

如果你想修改用户上传文件的路径,你并不需要动态加载控件,但你需要在page init 中做一些操作,(并不是在page load 中)。下面是一个例子:

Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init

   Session("FCKeditor:UserFilesPath") = "~/App_Images/" & _teamName

End Sub

在代码中动态添加编辑器

Base path 设置在 web.config 文件中:

例如,如果下面是FCKeditor 所在目录"c:/inetpub/wwwroot/virtualdir/FCKeditor/" ,这样添加:

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

可以使用session 来设置UserFilesPath 的路径,需要在你添加控件前设置session 变量。

Session("FCKeditor:UserFilesPath") = "/virtualdir/userfiles/"

可以使用request 对象来设置BasePath。假设当前路径是: "http://<host>/FCKEditor/"

FCKeditor1.BasePath = Request.ApplicationPath + "/FCKEditor/";

添加控件到页面:

Dim fckeditor As New FredCK.FCKeditorV2.FCKeditor

fckeditor.ImageBrowserURL = "http://localhost/virtualdir/FCKeditor/editor/filemanager/browser/default/browser.html?Type=Image&Connector=connectors/aspx/connector.aspx"

fckeditor.ID = "dynamicname"

fckeditor.Value = "the text you want in the FCK editor"

fckeditor.SkinPath = "skins/silver/"

fckeditor.ToolbarSet = "Default"

myForm.Controls.Add(fckeditor) 

posted @ 2011-01-17 22:40  Yao,Mane  阅读(319)  评论(0编辑  收藏  举报