http://download.csdn.net/down/193584/ldarmy最新版FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用简解
1。下载最新版FreeTextBox(版本3.1.6),解压 FreeTextBox 3.1.6 (2006/07/18)
* BUG: Firefox postback problems (due to IE specific code)
* CHANGE: createlink now requires text to be selected * BUG: FontSizesMenuList now functions correctly * BUG: IE users would see the tag path of the entire document * BUG: WordClean fix for <b> tags * BUG: bug in FF vs. IE DOM handling of extra \n tag Free版本的收费版本的区别可以看这里:
http://freetextbox.com/features/
2。打开ASP.Net2.0项目,添加引用。(如果添加过以前版本的FreeTextBox,先删除以前版本的引用)
2.1。拷贝ftb.imagegallery.aspx到你要使用FreeTextBox的目录(当然可以是其他,但是可能要设置路径)
3。将FreeTextBox添加到工具栏。(工具栏〉常规〉选择项〉浏览到DLL文件,添加)
4。可以将工具栏上的控件拖入到你的页面了
<
FTB:FreeTextBox
ID
="Free1"
ImageGalleryPath
="~/ImageAdmin"
runat
="server"
Text
=`<%#
Bind("Contents") %
>
`
ButtonDownImage="True"
ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontForeColorsMenu
Bold,Italic,Underline,Strikethrough;Superscript,Subscript,RemoveFormat
JustifyLeft,JustifyRight,JustifyCenter,JustifyFull;BulletedList,NumberedList,Indent,Outdent;CreateLink,Unlink,InsertImage,InsertImageFromGallery,InsertRule
Cut,Copy,Paste;Undo,Redo,Print">
</
FTB:FreeTextBox
>
4.1。修改ImageGalleryPath属性为你图片的放置目录。
5。Q&A5.1。Q:怎么不能新建目录,上传文件等?
A:修改ftb.imagegallery.aspx页面可以做到
<
FTB:ImageGallery
id
="ImageGallery1"
SupportFolder
="~/aspnet_client/FreeTextBox/"
AllowImageDelete
="true"
AllowImageUpload
="true"
AllowDirectoryCreate
="true"
AllowDirectoryDelete
="true"
runat
="Server"
/>
修改AllowImageDelete等属性5.2。Q:怎么没有看到“从图片库插入图片”这个图标?
A:修改<FTB:FreeTextBox />的ToolbarLayout属性,添加一个InsertImageFromGallery,上面代码的例子就是已经添加好的。
5.3。Q:按钮怎么是英文提示?
A:<FTB:FreeTextBox />有个属性叫做Language,把默认的en-US改称zh-CN吧,就是中文简体了,听说这个版本带了25种语言呢。
==========================================================
FreeTextBox使用详解 (3.1.1版本使用)
Author: Annerose Date:12/16/2005
版本: 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加入如下代码
1<?xml version="1.0" encoding="utf-8" ?>
2 <configuration>
3 <system.web>
4 <httpHandlers>
5 <add verb="GET" path="FtbWebResource.axd" type="FreeTextBoxControls.AssemblyResourceHandler, FreeTextBox" />
6 </httpHandlers>
7 <system.web>
8 <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) 得到保存编辑的内容
1 private void
InitializeComponent()
2
{
3 // 指向同一个委托
4 this.FreeTextBox1.SaveClick += new System.EventHandler this
.FreeTextBox1_SaveClick);
5 this.Button1.Click += new System.EventHandler(this
.FreeTextBox1_SaveClick);
6
}
7
8 private void FreeTextBox1_SaveClick(object
sender, System.EventArgs e)
9
{
10 divshow.InnerHtml =
FreeTextBox1.Text;
11 }
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.51aspx.com/CV/M67HNQANDQU37下载之后仔细看看其中的说明,你就可以使用这个完美的编辑器。
其中示例是在内联代码方式下,如果在代码后置下使用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);
}
此处是输出内容,可以改成我们需要方法。
例子:
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
FreeTextBox.aspx.cs
"
Inherits
=
"
FreeTextBox
"
%>
<%
@ Register ValidateRequest
=
"
false
"
TagPrefix
=
"
ftb
"
Namespace
=
"
FreeTextBoxControls
"
Assembly
=
"
FreeTextBox
"
%>
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<
html
xmlns
=http://www.w3.org/1999/xhtml
>
<
head
runat
="server"
>
<
title
>
无标题页
</
title
>
</
head
>
<
body
>
<
form
id
="form1"
runat
="server"
>
<
div
>
<
FTB:FreeTextBox
id
="FreeTextBox1"
runat
="server"
ButtonPath
="http://localhost:2131/nettest/images/ftb/office2003/"
/>
</
div
>
</
form
>
</
body
>
</
html
>
说明:这里的ButtonPath如果没有设置好可能出现很多图片无法显示的情况!ValidateRequest="false"也是必须的,要不页面不允许传输带有HTML标记的参数!