FreeTextBox介绍

FreeTextBox
2008-08-28 15:03

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);
        }
此处是输出内容,能够改成我们需要方法。

1.6.3版本的FreeTextBox
引用DLL后,控件会出现在工具箱中,可以直接拖放到页面上
复制 HelperScripts 目录下的三个文件到你的 Web 应用程序目录中或其子目录中,注意使用时要指定 HelperFilePath 属性( ftb.colorpicker.aspx,ftb.imagegallery.aspx
ftb.inserttable.aspx,一个一个复制进去,会自动帮你添加分割符);
复制 images 目录下的 ftb 目录到你的 Web 站点根目录下的 images 目录中。
你还必须添加现有项,添加 - ftb.colorpicker.aspx, - ftb.imagegallery.aspx
- ftb.inserttable.aspx这三个页面,当你添加这三个文件试,会提示是否要创建一个关联的类文件,ftb.imagegallery.aspx按否,不要创建,其他两个选择是。
如果你的图片路径设置对,那就可以使用了。

3.0.0版本的FreeTextBox
同上,添加引用后控件会出现在工具箱中。
3.0版本中有一个aspnet_client文件夹,需要拷贝到你的项目中,里面是图片以及JS文件,
在Webconfig中需要设置添加这句话
<httpHandlers>
<add verb="GET"
path="FtbWebResource.axd"
type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" />

</httpHandlers>
添加在<system.web> </system.web>标记之间。
3.0添加了好多个按钮,默认是不显示全部的,所以如果要显示其他的工具按钮,必须设置
ToolBayLayout属性,属性值可以查看下载的chm文件,里面有详细介绍。
你还必须注意supportFolder,ImageGalleryPath属性的路径。
因为3.0工具的图片多,所以浏览的时候可以在页面上点击右键,在浏览器中浏览,这样可以显示图片,因为直接运行可能图片显示不出来,会让人觉得是图片路径不会。   ==============================

我现在不把这三个文件.colorpicker.aspx, - ftb.imagegallery.aspx
- ftb.inserttable.aspx引用到项目里面,只是放在项目目录下使用起来就没有问题,引用进去按照你说的方法,添加了关联文件反倒不行了=======================================================

将Image目录下的东西拷贝到我自己的Image下,将FreeTextBox.Dll栲到我的Bin目录下,再将几个*.aspx拷贝到我的程序目录下,然后在工具箱里 ==>>自定义工具箱==>>选择FreeTextBox.DLL可是根本就加不进去,我用FreeTextBox底一点版本((FTBv1-5))时候又加的进去,但底一点的版本老是有问题...
==========================================================================

web.config 在system.web节加入:

<pages validateRequest="false"/>

[转]FreeTextBox使用详解
本文转自
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"/>

posted on 2007-01-08 10:35 freeliver54 阅读(2538) 评论(19) 编辑 收藏 所属分类: VS技術實踐


我对FreeTextBox简单使用

对于FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用,

放上下载地址:

下载最新版FreeTextBox(版本3.1.6),解压
   FreeTextBox 3.1.6 (2006/07/18)
   博客园本地下载: https://files.cnblogs.com/cleo/FTBv3-1-6.zip
   作者网站下载地址:http://freetextbox.com/download/
   详细版本有哪些改进和修改历史可以看这里:http://freetextbox.com/download/changelog.aspx


只需要将:FreeTextBox.DLL   ftb.imagegallery.aspx 和aspnet_client文件夹 拷入你的项目当中

打开ASP.Net2.0项目,添加引用。(如果添加过以前版本的FreeTextBox,先删除以前版本的引用)

将FreeTextBox添加到工具栏。(工具栏〉常规〉选择项〉浏览到DLL文件,添加)




<FTB:FreeTextBox ID="Free1"   ImageGalleryPath="~/Images"
Language="zh-CN" runat="server"
ButtonDownImage="True"
toolbarlayout="ParagraphMenu,
FontFacesMenu,
FontSizesMenu,FontForeColorsMenu,
FontForeColorPicker,FontBackColorsMenu,
FontBackColorPicker|Bold,Italic,
            Underline,Strikethrough,Superscript,
Subscript,RemoveFormat|JustifyLeft,JustifyRight,
            JustifyCenter,JustifyFull;BulletedList,
NumberedList,Indent,Outdent;CreateLink,Unlink,
            InsertImage|Cut,Copy,Paste,Delete;
Undo,Redo,Print,Save|SymbolsMenu,StylesMenu,
            InsertHtmlMenu|InsertRule,InsertDate,
InsertTime|InsertTable,EditTable;InsertTableRowAfter,
            InsertTableRowBefore,DeleteTableRow;
InsertTableColumnAfter,
InsertTableColumnBefore,DeleteTableColumn|InsertForm,
            InsertTextBox,InsertTextArea,
InsertRadioButton,
InsertCheckBox,InsertDropDownList,InsertButton|InsertDiv,
EditStyle,InsertImageFromGallery,Preview,SelectAll,
WordClean,NetSpell"
runat="Server">     </FTB:FreeTextBox>

上面代码中 将FreeTextBox中的功能按钮全部显示出来 并使语言为中文 设置上传图片的保存地址


ftb.imageegallery.aspx 中 设置属性

<FTB:ImageGallery id="ImageGallery1"
SupportFolder="~/aspnet_client/FreeTextBox/"
AllowImageDelete="true" AllowImageUpload="true"
AllowDirectoryCreate="true" AllowDirectoryDelete="true" runat="Server"/>


是否允许删除图片 上传图片 是否允许创建文件夹 删除文件夹


在freetextbox 中 使用了 Imageegallery 上传图片 但是 在界面中是英文的


在网上说使用 ildasm.exe 来 转存

ildasm.exe 位于 X:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin 下

将 Freetextbox.dll 使用ildasm 转存后 反编译出很多个小图片 和几个JS 文件


我们更改下 FreeTextBoxControls.Resources.JavaScript.FTB-Pro.js 中相应的 英文句子 来汉化它

当更改完成后 我们再使用 ilasm.exe 来再进行拼装DLL 文件

ilasm.exe文件位于 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727 中

MSIL 汇编程序 (Ilasm.exe)

ilasm myTestFile /dll
下面的命令对 MSIL 文件 myTestFile.il 进行汇编并产生 .dll 文件 myNewTestFile.dll。


NET Framework 工具

MSIL 汇编程序 (Ilasm.exe)

MSIL 汇编程序从 Microsoft 中间语言 (MSIL) 生成可移植可执行的 (PE) 文件。(有关 MSIL 的更多信息,请参见编译为 MSIL。)可以运行结果可执行文件(该文件包含 MSIL 和所需的元数据)以确定 MSIL 是否按预期执行。

参考

FreeTextBox 3.14版改进与汉化

posted @ 2009-03-13 10:47  双鹏  阅读(928)  评论(2编辑  收藏  举报