本文转自
http://blog.csdn.net/JOHNCOOLS/archive/2006/04/08/655553.aspx
感谢作者们的付出
---------------
版本: FreeTextBox 3.1.1     ASP.NET1.1
1.下载 FreeTextBox 3.1.1 (released 2005/11/08)
http://www.freetextbox.com/downloads.aspx
2. 安装
FreeTextBox 3.0以上版本均支持内部模式,即图片资源和javascript都集成在dll中, 
本文仅探讨内部模式(Internal Resources).
1) 把FTBv3-1-1\Framework-1.1\FreetextBox.dll拷入bin目录.
2) 在项目中添加FreetextBox.dll的dll引用
3) Web.config加入如下代码
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
   <httpHandlers>
     <add verb="GET" path="FtbWebResource.axd" type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" />
</httpHandlers>
</system.web>
</configuration>
3. 使用FreeTextBox 
1) aspx页面顶上
   <%@ Register TagPrefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
2) 调用
   <FTB:FreeTextBox id="FreeTextBox1" runat="Server" />
3)工具栏皮肤
 ToolbarStyleConfiguration = Offoce2003/OfficeXP/Office2000/MAC
4) 得到保存编辑的内容
private void InitializeComponent()
{    
    this.FreeTextBox1.SaveClick += new System.EventHandler(this.FreeTextBox1_SaveClick);
    this.Button1.Click += new System.EventHandler(this.FreeTextBox1_SaveClick);
    this.Load += new System.EventHandler(this.Page_Load);
}

private void FreeTextBox1_SaveClick(object sender, System.EventArgs e)
{
    divshow.InnerHtml = FreeTextBox1.Text;
}
5) 从客户端中检测到有潜在危险的 Request.Form 值
<%@ Page language="c#" ... ValidateRequest="false"%>
4 图片上传
1) 工具栏上添加ImageGallery按钮.
<FTB:FreeTextBox ..ToolbarLayout=" ..,InsertImageFromGallery,.. />
2) 拷贝 "ftb.imagegallery.aspx" 文件到同一目录下 
http://wiki.freetextbox.com/default.aspx/FreeTextBoxWiki.ImageGallery
3) FreeTextBox 属性设置
ImageGalleryPath = "~/image/upload"  上传默认路径
ImageGalleryUrl = "ftb.imagegallery.aspx?rif={0}&cif={0}"  ftb.imagegallery.aspx的目录, 只能用相对目录,不可以用"~"
4) ImageGallery 的设置
ftb.imagegallery.aspx文件里
<FTB:ImageGallery id="ImageGallery1" 
  JavaScriptLocation="InternalResource" 
  UtilityImagesLocation="InternalResource" 
  SupportFolder="~/aspnet_client/FreeTextBox/"
  AllowImageDelete=true AllowImageUpload=true 
   AllowDirectoryCreate=false AllowDirectoryDelete=false 
runat="Server" />
AllowDirectoryCreate - 能否建立文件夹
AllowDirectoryDelete - 能否删除文件夹
AllowImageUpload - 能否上传图片
AllowImageDelete - 能否删除图片
AcceptedFileTypes - 可以上传文件扩展名的数组(array)
为开发者提供的2个属性
CurrentDirectories - a string[] array of directories to allow the user to navigate toward 
CurrentImages - a FileInfo[] array of files the user should be able to insert.

建议: 删掉Page_Load事件可以显著回避上传图片不能即时显示的问题. 不要重写Page_Load
补充 
========================================================================
Freetextbox是一个免费的.net mshtml 编辑器。
我所用的免费的freetextbox版本是中文版本1.6.3的汉化的freetextbox。
获得的地址。http://www.percyboy.com/w/ftb/
下载之后仔细看看其中的说明,你就可以使用这个完美的编辑器。
其中示例是在内联代码方式下,如果在代码后置下使用Freetextbox 呢。
1、首先我们把 FreeTextBox.dll 文件copy到我们的项目中的bin目录里。
然后在我们的项目里添加新的引用,在添加引用对话框选择项目标签,
浏览/选择你的FreeTextBox.dll/打开/确定。应用就添加完成了。
2、如何获得FreeTextBox.dll 中所使用到的名字空间,本中文版本1.6.3 有3个名字空间。
using FreeTextBoxControls;
using FreeTextBoxControls.Design;
using FreeTextBoxControls.Common;
可以在引用的FreeTextBox.dll 查看对象浏览。
点开树型目录就可以清晰的看到,上面所说的名字空间了。
其他的版本类似可以获得。
3、在aspx文件添加freetextbox 
<%@ Register TagPrefix="ftb" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
具体的方法和内联一样的。
同时cs文件中会有如下代码:
protected FreeTextBoxControls.FreeTextBox FreeTextBox1;产生
添加完后,运行一下就可以看到结果了。
在设计模式下我们还可以查看FreeTextBox 属性。
4、如何把FreeTextBox 内容写到数据库,我们在aspx文件中添加一个bottom
其的onclick=“my_add"
cs文件
protected void my_add(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
         Response.Write(FreeTextBox1.Text);
        }
此处是输出内容,可以改成我们需要方法。

FreeTextBox使用方法集合 
 
作者:刘一   时间:2005-6-16 
 我在此网站http://www.percyboy.com/w/ftb/down/下载了
FreeTextBox 1.6.3 中文版 [307KB] 
FreeTextBox 1.6.3 中文版源代码 [420KB] 
1.先把freetextbox.dll添加到项目中

2.把 - ftb.colorpicker.aspx
          - ftb.imagegallery.aspx
          - ftb.inserttable.aspx
从文件夹HelperScripts复制出来,放到外面与 - test.aspx (测试)同等级目录,
(不这么做,插入背景色,图片,表格就不好使)

3.把images文件夹放到test.aspx (测试)同等级目录下,来存放上传的图片.

4.在test.aspx 中,加图片的路径
<FTB:FreeTextBox id="FreeTextBox1" runat="server" Width="700" ButtonPath="\images\ftb\office2003\"/>

this.FreeTextBox1.Text 这个就是FTB中你输入的文本的内容,这是带HTML标记的

this.FreeTextBox1.HtmlStrippedText 这个是将HTML标记去掉的文本

5.写入数据库
在CSDN上看到朋友们说怎么把FreeTextBox内容写入数据库中
我做了一下.就是把所有产生的HTML代码都插入数据库的一个字段中
可以做一个新闻表
news
字段ID(自增) content addtime(getdate)

private void Page_Load(object sender, System.EventArgs e)
  {
   // Put user code to initialize the page here
   if (!IsPostBack)
   {
    SqlConnection myConn = new SqlConnection("server=(local);database=mm;uid=sa;pwd=123");
    SqlCommand myCmd = new SqlCommand("select * from test where id=2",myConn);
    myConn.Open();
    SqlDataReader myDr;
    myDr=myCmd.ExecuteReader();
    myDr.Read();
    Response.Write(myDr["content"].ToString());
    myDr.Close();
    myConn.Close();
   }
  }

private void Button1_Click(object sender, System.EventArgs e)
  {
   SqlConnection myConn = new SqlConnection("server=(local);database=mm;uid=sa;pwd=123");
   SqlCommand myCmd = new SqlCommand("insert into test (content) values('"+FreeTextBox1.Text+"')",myConn);  
   myConn.Open();
             myCmd.ExecuteNonQuery();
   myConn.Close();
  }

[注]web.config
在system.web节加入:
  <pages validateRequest="false"/>

-----------------------------------------------------------------------------------------------------
这里还有3.0的版本,不过是外文的哟! The no.1 free ASP.NET HTML Editor for IE and Mozilla.

FreeTextBox 3.0
FreeTextBox 3.0, with over 150,000 downloads, is the most popular cross-browser HTML editor for ASP.NET. To start using the control, do the following

Download FreeTextBox 3.0.4 
Read FreeTextBox Wiki for installation instructions 
Report problems to the forums 
Purchase a Pro license ($49) or source code/distribution license ($199). 
Current Version (3.0.4) Information

---------另外补上一文章-------------------------
Freetextbox是一个免费的.net mshtml 编辑器。
我所用的免费的freetextbox版本是中文版本1.6.3的汉化的freetextbox。
获得的地址。http://www.percyboy.com/w/ftb/
下载之后仔细看看其中的说明,你就可以使用这个完美的编辑器。
其中示例是在内联代码方式下,如果在代码后置下使用Freetextbox 呢。
1、首先我们把 FreeTextBox.dll 文件copy到我们的项目中的bin目录里。
然后在我们的项目里添加新的引用,在添加引用对话框选择项目标签,浏览/选择你的FreeTextBox.dll/打开/确定。应用就添加完成了。

2、如何获得FreeTextBox.dll 中所使用到的名字空间,本中文版本1.6.3 有3个名字空间。
using FreeTextBoxControls;
using FreeTextBoxControls.Design;
using FreeTextBoxControls.Common;
可以在引用的FreeTextBox.dll 查看对象浏览。
点开树型目录就可以清晰的看到,上面所说的名字空间了。
其他的版本类似可以获得。
3、在aspx文件添加freetextbox 
<%@ Register TagPrefix="ftb" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
具体的方法和内联一样的。
同时cs文件中会有如下代码:
protected FreeTextBoxControls.FreeTextBox FreeTextBox1;产生
添加完后,运行一下就可以看到结果了。
在设计模式下我们还可以查看FreeTextBox 属性。
4、如何把FreeTextBox 内容写到数据库,我们在aspx文件中添加一个bottom
其的onclick=“my_add"
cs文件
protected void my_add(object sender, System.EventArgs e)
        {
            // 在此处放置用户代码以初始化页面
         Response.Write(FreeTextBox1.Text);
        }
此处是输出内容,可以改成我们需要方法。

----心得-------------------------------------------------------
在使用FreeTextBox控件进行文本编辑后,进行保存时需要取编辑内容对应的HTML文本内容。
取编辑内容使用my_freetextbox.ViewStateText属性会比使用my_freetextbox.Text属性,
在后续的字符串内容处理上会方便一些。
在所取出的字符串中,系统自动加上了“\r\n”的回车换行字符串标示,在存储内容到数据库之前最
好将这些“\r\n”字符串用空串“”替换掉(如:my_str=my_str.Replace("\r\n","")),否则在将
来调用时会导致不正常显示。
在所取出的字符串中,系统还把编辑文本中的双引号“用转义字符\进行了处理,如原字符串为
“wangshixin said "hello!"”,所取得的字符串实际为“wangshixin said \"hello!\"”,因此需要
将所获得的字符串中的全部“\"”用特定的字符串替换掉。在将来提取显示时,再将特定字符串替换为
“\"”(如: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"/>

FREETEXTBOX的更多相关文章

  1. 常用的富文本框插件FreeTextBox、CuteEditor、CKEditor、FCKEditor、TinyMCE、KindEditor ;和CKEditor实例

    http://www.cnblogs.com/cxd4321/archive/2013/01/30/2883078.html 目前市面上用的比较多的富文本编辑器有: FreeTextBox 一个有很多 ...

  2. 最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简介

    http://www.cnblogs.com/kflwz/articles/1337310.html   1.下载最新版FreeTextBox(版本3.1.6),解压   FreeTextBox 3. ...

  3. .NET中DLL“没有可放置在工具箱的组件”—FreeTextBox

    主要针对在VS2012.VS2013的工具箱中,通过“选择项”添加自定义的Dll,如.NET类型时,出现“没有可放置在工具箱的组件”问题的常见解决方案.例如在线编辑工具:FreeTextBox 解决方 ...

  4. ASP.NET - 在线编辑器(FreeTextBox)

    1.首先下载FreeTextBox程序集,再次使用3.3.1 · 官网:http://freetextbox.com/ · 百度云: 2.在程序中引入程序集 3.在工具箱中添加控件. 4.之后拖动控件 ...

  5. FreeTextBox备忘

    添加对4.0的dll文件引用 吧aspnet_client目录 copy到根目录下 设置文件上传目录属性ImageGalleryPath 设置相册属性到 ftb.imagegallery.aspx位置 ...

  6. Csharp: FreeTextbox 编辑器控件运行时错误: 'FTB_ResizeGalleryArea' 未定义

    ftb.imagegallery.aspx 改一下代码: <form id="Form1" runat="server" enctype="mu ...

  7. “FreeTextBox”控件使用——Word编辑器

    前言 在敲牛腩新闻发布系统时,添加新闻修改新闻的时候遇到了Word编辑器控件.它是引用了第三方控件,下面关于怎么引用该控件及其一些简单的使用方法进行分析. 内容 在网上找的该插件"FreeT ...

  8. ASP.NET AntiXSS的作用

    XSS跨站脚本攻击        是指用户输入HTML编码对网站进行跨站攻击.            通过使用FCKeditor.FreeTextBox.Rich TextBox.Cute Edito ...

  9. C# 开源框架

    一.AOP框架        Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种 ...

随机推荐

  1. oracle_存储过程小记

    # 刷新会员标签函数 {color:red} fun_refresh_code{color} {noformat}CREATE OR REPLACE FUNCTION fun_refresh_code ...

  2. 教你如何构建异步服务器和客户端的 Kotlin 框架 Ktor

    Ktor 是一个使用 Kotlin 以最小的成本快速创建 Web 应用程序的框架. Ktor 是一个用于在连接系统(connected systems)中构建异步服务器和客户端的 Kotlin 框架. ...

  3. 散列表(HashTable)

    散列表 i. 散列函数 i. 冲突解决 ii. 分离链表法 ii. 开放地址法 iii. 线性探测法 iii. 平方探测法 iii. 双散列 ii. 再散列 ii. 可扩散列 i. 装填因子:元素个数 ...

  4. python脚本监控获取当前Linux操作系统[内存]/[cpu]/[硬盘]/[登录用户]

    此脚本应用在linux, 前提是需要有python和python的psutil模块 脚本 #!/usr/bin/env python # coding=utf-8 import sys import ...

  5. Python3基础 list sort 从小(大)到大(小)排序

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. linux下使用docker-thunder-xware进行离线下载

    1.环境: lsb_release -a hello@jhello:~$ lsb_release -aNo LSB modules are available.Distributor ID: Ubun ...

  7. Elasticsearch 基础概念知识

    接近实时(NRT) Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒). 集群(cluster) 一个集群就是由一个或多 ...

  8. Node10.15.0的安装

    1. 首先我们需要去node官网下载最近版本的压缩包,然后我们把他们解压到我们自定义的安装路径,我使用的是/usr/local/lib/nodejs VERSION=v10.15.0 DISTRO=l ...

  9. BZOJ2662: [BeiJing wc2012]冻结 spfa+分层图

    Description “我要成为魔法少女!”     “那么,以灵魂为代价,你希望得到什么?” “我要将有关魔法和奇迹的一切,封印于卡片之中„„”        在这个愿望被实现以后的世界里,人们享 ...

  10. FOJ-1001-Duplicate Pair

    题目:Duplicate Pair 大意: 有多组测试数据,输入整数n,接着输入n个整数(integers),这些数字几乎都只出现一次,但其中有一个数出现了两次,请输出这个数. 题解: 大数据问题,普 ...