>> 注册  登录  关于我们 | 收藏本站 | 加为主页 | 友情链接 
   
广告位
广告位
主页   >> 中极论坛   >> 技术交流   >> ASP技术  
该帖已经被浏览3788次
标题: FCKeditor在风越ASP生成的代码中的使用 []   打印 | 收藏 | 推荐
wodemy
等级:新手上路
贴数:3
文章:0
积分:16
金钱:16
注册:2009-2-22 13:16:40
  第 1 楼

FCKeditor在风越ASP生成的代码中的使用
风越代码生成器只有UBB文本,功能十分有限。这里讲讲我在生成的代码中使用FCKeditor编辑器的经验。

一、安装
   1、下载FCKeditor最新版本,免费开源的,各大网站都有下载。目前最新的是FCKeditor 2.6.3。
   2、解压后将fckeditor文件夹复制到你的WEB程序的根目录。

二、配置
   打开fckeditor/fckconfig.js可以看到可配置的东西很多,这两天挺忙,没有试过那些无关紧要的东西。这里只讲讲重要的。
   找到var _FileBrowserLanguage,FCKeditor默认是var _FileBrowserLanguage = 'php' ;将php改为asp
   找到var _QuickUploadLanguage,同样将php改为asp

   打开fckeditor/editor/filemanager/connectors/asp/config.asp找到ConfigIsEnabled = False改为ConfigIsEnabled = True,否则无法上传文件。
   但是这样一个重要功能,默认值为什么是False呢?因为这涉及上传文件的安全性。在设置这项值的前面,FCKeditor给了警告,必须对使用这项功能的用户采取相应的验证措施。由于本人的程序不面向匿名用户,能进后台添加、编辑信息的都是特定的用户,因此没有细究,只给一个提示。需要研究的,看我后面提供的两个参考文章。
   
三、调用
   调用分两种调用方法,JS版和ASP版(当然还有PHP、.NET等,但我们这里只讨论ASP中的调用),无论那种调用,都必须在<form>和</form>之间(这句貌似废话)。

   JS调用方法。
   用JS版的好处是页面加载速度快,客户只有第一次打开时需要加载编辑器,以后都是直接从浏览器的缓存中调用。明显的坏处是调试麻烦,每次修改了编辑器的某项设置之后,都要删除浏览器的缓存。JS版可以在任意页面中使用,但编辑器如果有初始值,比如修改一条数据的时候,编辑器要先载入该数据原来的内容,此时最好用ASP版。据说是因为单引号(')的问题造成的,在数据内容里难免会有单引号存在而用JS版生成编辑器时可能就会因为单引号问题,而使编辑器无法正常生成,而采用asp则不同,用ASP版本的是因为数据被当成是一个变量了,然后直接赋值给编辑器域。我没时间验证现在的2.6.3版是不是还这样。我在编辑页面还是直接用ASP版吧。
   A、在<head></head>内插入一下代码:
   <script type="text/javascript" src="../fckeditor/fckeditor.js"></script>(src路径根据自己的实际情况修改。)

   B、在需要使用编辑器的地方找到风越生成的输入框,例如下面的文本框:
   <input type='text' name='ctrl_Title' id='ctrl_Title' maxlength='254' value = "<%=HtmEncode(Request.Form("ctrl_Title"))%>" style='width:100%' class='textBox'>
     替换为以下代码:
   <script type="text/javascript">
     var oFCKeditor = new FCKeditor( 'ctrl_Title' ) ; 
     oFCKeditor.Create() ; 
     </script>
     其中ctrl_Title就是这个编辑器的实例名,要和被替换掉的文本框的name值相同,编辑器里的内容是通过它传递的。

   ASP调用方法(只能在ASP页面中使用):
     A、在你的应用程序头部加入以下代码:
     <!--#include file="../FCKeditor/fckeditor.asp" -->(路径根据自己的情况调整)

     B、在需要使用编辑器的地方找到风越生成的输入框,如下面的文本框:
   <input type='text' name='ctrl_Title' id='ctrl_Title' maxlength='254' value = "<%=HtmEncode(Request.Form("ctrl_Title"))%>" style='width:100%' class='textBox'>
     替换为以下代码:
<%
Dim oFCKeditor
Set oFCKeditor = New FCKeditor
oFCKeditor.BasePath = "/FCKeditor/"   '设置编辑器的路径,我站点根目录下的一个目录
oFCKeditor.ToolbarSet = "Default" 
oFCKeditor.Width = "100%" 
oFCKeditor.Height = "300" 
oFCKeditor.Value = ""   '这个是给编辑器初始值
oFCKeditor.Create "ctrl_Title"   '其中ctrl_Title就是这个编辑器的实例名,要和被替换掉的文本框的name值相同,编辑器里的内容是通过它传递的。
%>

四、传值
   提交表单后,编辑器里的内容是通过Request("ctrl_Title")传递给服务器的。风越生成的代码形如:var_Title = Request.Form("ctrl_Title"),改成var_Title = Request("ctrl_Title")即可(这里讲“形如”是指var_Titel、ctrl_Title与你的实际变量名、控件名不同。)。

   表单检测:风越生成的代码自动加入了检测录入内容的代码,包括ASP检测和JS检测。
   ASP检测形如:errMessage = errMessage & CheckInputData("标题", "", var_Title, 1, 65535)
   JS检测形如:errMessage += CheckInputData("标题", "ctrl_Title", "", 1, 65535);
   其中,ASP检测可以继续使用,JS检测要去掉检测FCKeditor编辑器的那部分。

五、显示
   风越生成的代码形如
   <%
     Dim var_Title_Show
     var_Title_Show = NullToEmptyStr(Rs("Title"))
     %>
     <%=HtmEncodeStr(var_Title_Show)%>
     把最后这句<%=HtmEncodeStr(var_Title_Show)%>改为<%=var_Title_Show%>就可以了。

六、编辑
   前面讲调用的时候说过,修改一条信息的时候,编辑器有初始值,此时最好用ASP调用,现在经本人实际使用,2.6.3版仍然是这样的。如果字段值带单引号或者换行,用JS版调用会显示不出来。
   初始值的设置方法:oFCKeditor.Value = Rs("字段名")


OK了。
   本文讲的是在风越生成的代码中嵌入FCKeditor编辑器的最简要、最必要过程。要更深入研究,请参考我做这些时参考的下面这两篇文章。他们使用的版本不是当前最新的2.6.3,所以有些地方跟本文讲的不一样。
   FCKeditor在ASP环境中的配置使用
     FckEditor配置手册中文教程详细说明(水寒修正版)
[本贴于2009-3-14 11:10:44被wodemy编辑过]

[本贴于2009-3-14 17:15:37被wodemy编辑过]


[UPLOAD_FILE]1[/UPLOAD_FILE]

[本贴于2009-3-19 9:11:23被wodemy编辑过]

( 3730字 )

   
2009-3-14 10:54:25
引用 回复 顶部
共1条   |   每页 条   |   首页 上页 下页 尾页   |   /1页
技术支持:中极V1.0
  风越代码生成器 asp/aspx/winform/c#/.net代码生成器 官方网站   管理员:刘怒
© 2006 - 2007 sino8848.com 版权所有 QQ群:13469217
  建站时间:2007-8-22 9:03:54   共用62.500毫秒