本文转自http://blog.csdn.net/JOHNCOOLS/archive/2006/04/08/655553.aspx感谢作者们的付出---------------版本: FreeTextBox 3.1.1 asp.net1.11.下载 FreeTextBox 3.1.1 (released 2005/11/08)http://www.freetextbox.com/downloads.aspx2. 安装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. 使用FreeTextBox1) aspx页面顶上 <%@ Register TagPRefix="FTB" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>2) 调用 <FTB:FreeTextBox id="FreeTextBox1" runat="Server" />3)工具栏皮肤ToolbarStyleConfiguration = Offoce2003/OfficeXP/Office2000/MAC4) 得到保存编辑的内容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.ImageGallery3) 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=falserunat="Server" />AllowDirectoryCreate - 能否建立文件夹AllowDirectoryDelete - 能否删除文件夹AllowImageUpload - 能否上传图片AllowImageDelete - 能否删除图片AcceptedFileTypes - 可以上传文件扩展名的数组(array)为开发者提供的2个属性CurrentDirectories - a string[] array of directories to allow the user to navigate towardCurrentImages - 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.0FreeTextBox 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.4Read FreeTextBox Wiki for installation instructionsReport problems to the forumsPurchase 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"/>
新闻热点
疑难解答