FreeTextBox 1.6.3 中文版使用说明及心得体会

1.直接使用的方法:
(1) 复制 bin 目录下的 FreeTextBox.dll 文件到你的 Web 应用程序目录中的 bin 目录或其上层的虚拟目录下的 bin 目录;
(2) 复制 HelperScripts 目录下的三个文件到你的 Web 应用程序目录中或其子目录中,注意使用时要指定 HelperFilePath 属性;
(3) 复制 images 目录下的 ftb 目录到你的 Web 站点根目录下的 images 目录中。
默认的目录结构如下:
    + Web 根目录
      + bin 目录
          - FreeTextBox.dll
      + images 目录
          + ftb 目录
      + 你的应用程序(虚拟目录)
          + bin 目录
            - FreeTextBox.dll
          + images 目录(这个是你的“图片库”目录,上传的图片都在此)
          - ftb.colorpicker.aspx
        - ftb.imagegallery.aspx
          - ftb.inserttable.aspx
          - test.aspx (测试)
  (注:+ 表示目录,- 表示文件;上面 FreeTextBox.dll 只需要复制一个就行了;)
2.或者你可以更改源代码来简化某些设置。
3.官方网站:http://www.freetextbox.com
中文版: http://www.51aspx.com/CV/M67HNQANDQU37
上面网页中都有一些示例程序可以参考。
4.使用本软件请遵照 License Agreement 协议,使用中文版时请不要去掉译者信息。
由于这几天都在钻研BBS怎么贴图片的功能,所以不经意间就发现其实freetextbox这个东东真的很好用,以前排版比如换行空格我还这样做:

string content1=this.TaContent.Value.Replace("\r\n","<br><br>");
string content=content1.Replace(" ","nbsp;");



现在这个freetextbox就厉害了,你想怎么输入就怎么输入,比如你想贴图片,文字怎么个排版都可以,自己不用去控制它了,直接把它读入数据库,然后直接用数据控件来显示就可以了,这里我做了小小的例子供自己和大家来参考一下。
先讲讲这个freetextbox怎么个用法吧,把freetextbox下载下来后,就可以把它添加到工具箱里去了,这里当然添加的是freetextbox.dll,然后在设计页面usefreetextbox.aspx中,直接拽入这个控件就可以,不过还要把freetextbox的一个文件夹添加进来,这个文件夹里面又有这么两个文件夹:HelperScripts,IMAGES,HelperScript中里面有这么六个文件folder.big.gif、folder.small.gif、folder.up.gif、ftb.colorpicker.aspx、ftb.imagegallery.aspx、ftb.inserttable.aspx,前面三个就是三张图片,后面三个里面是C#、JS函数,分别是取色、上传图片、插入表格的作用,好,现在看看IMAGES里面放的是什么,其实里面分别放的是office2000、2003、xp这三个版本的一些图片,freetextbox整个的外观就是由它们来构成的了。把这个freetextbox文件夹和我们新建的usefreetextbox.aspx放在同一级目录中。 
现在基本上已经设置好了,不过还有些细节问题,首先,我们要设置freetextbox的各个属性,我把它列出来:

<FTB:FreeTextBox id="FreeTextBox1" runat="server"          ToolbarType="Custom" ImageGalleryPath="images" ToolbarBackGroundImage="True" ButtonDownImage="True" ButtonPath="FreeTextBox/IMAGES/FTB/office2003/" tartMode="DesignMode" AllowHtmlMode="False" HelperFilesPath="FreeTextBox/HelperScripts///"></FTB:FreeTextBox>



这里大家要特别注意ButtonPath和HelperFilesPath的设置,是不是现在就可以使用这个freetextbox了呢?还没有一个重要的细节:如果我们就这样使用的话,会报错了,如下:
从客户端(FreeTextBox1="<P align=center><FON...")中检测到有潜在危险的 Request.Form 值。
说明: 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。该值可能指示危及应用程序安全的尝试,如跨站点的脚本攻击。通过在 Page 指令或配置节中设置 validateRequest=false 可以禁用请求验证。但是,在这种情况下,强烈建议应用程序显式检查所有输入。
原因是验证没通过,它都已经提示了,所以我们在web.Config中<system.web>下添加一个配置 <pages validateRequest="false"/> 或在本页面的html源窗口的页面配置中添加validateRequest="false,即<%@ Page validateRequest="false"%>
好,现在OK了,发现这个东东的使用并不难吧,又不需要写什么很难的代码,下面做个例子,我在这个例子做的是这样一件事,类似BBS中发贴功能,再显示出来。
----心得-------------------------------------------------------
在使用FreeTextBox控件进行文本编辑后,进行保存时需要取编辑内容对应的HTML文本内容。取编辑内容使用my_freetextbox.ViewStateText属性会比使用my_freetextbox.Text属性,在后续的字符串内容处理上会方便一些。
    在所取出的字符串中,系统自动加上了“\r\n”的回车换行字符串标示,在存储内容到数据库之前最好将这些“\r\n”字符串用空串“”替换掉(如:my_str=my_str.Replace("\r\n","")),否则在将来调用时会导致不正常显示。
    在所取出的字符串中,系统还把编辑文本中的双引号“用转义字符\进行了处理,如原字符串为“wangshixin said "51aspx!"”,所取得的字符串实际为“wangshixin said \"51aspx!\"”,因此需要将所获得的字符串中的全部“\"”用特定的字符串替换掉。在将来提取显示时,再将特定字符串替换为
“\"”(如:my_str=my_str.Replace("\"","wangshixin750920"))。
FreeTextBox1.Text 取得内容(带html标签的)
FreeTextBox1.HtmlStrippedText        也是取得内容(不带Html标签的)
关于WORD中过来的内容,出错解决
      把从word复制的文本粘贴到freetextbox里,提交到数据库的时候会提示有危险代码,也就是单引号,这是为什么?
      在Dottext里的freetextbox,同一篇word文档,提交时就没有问题。
我现在找到的原因是dottext里的freetextbox在提交的时候会把危险代码重新编码,而在我的项目里的freetextbox就不会。
      查看包含freetextbox控件的页面源文件,又发现license不同。
      解决方法:把页面中的validateRequest指令设成false即可,或者直接改web.config:<pages validateRequest="false" buffer="true"/>

posted @ 2009-03-13 10:52  双鹏  阅读(776)  评论(0编辑  收藏  举报