FreeTextBox316.docx
《FreeTextBox316.docx》由会员分享,可在线阅读,更多相关《FreeTextBox316.docx(13页珍藏版)》请在冰豆网上搜索。
FreeTextBox316
FreeTextBox3.1.6的实践总结和几个问题
经验:
1.如何在客户端用JS获取及设置FreeTextBox的内容?
它提供了JavascriptAPI
获取FTB内容
FTB_API['ctl00_ContentRegion_InputArticle1_FreeTextBox1'].GetHtml();
ctl00_ContentRegion_InputArticle1_FreeTextBox1是FreeTextBox的客户端ID,你可以用
<%=FreeTextBox1.ClientID%>代替
设置FTB内容
varhtml="222";
FTB_API['ctl00_ContentRegion_InputArticle1_FreeTextBox1'].SetHtml(html);
2.如何把FreeTextBox的所有工具按钮显示出来
设置它的ToolbarLayout属性
ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,
FontForeColorsMenu|Bold,Italic,Underline,Strikethrough;Superscript,Subscript,RemoveFormat,InsertDate,InsertTime,SelectAll,Preview|JustifyLeft,JustifyRight,JustifyCenter,
JustifyFull;BulletedList,NumberedList,Indent,Outdent;CreateLink,Unlink,
InsertImage,InsertRule,InsertImageFromGallery|Cut,Copy,Paste;Undo,Redo,Print"
至于里面的值如何得到可以参考它官方网站上介绍的特性FreeTextBox3.0Features
直接复制左边的英文介绍
当然如果你是免费用户,是不可能看到全部工具按钮的
3.客户端调用ftb的API函数
FTB_API['ctl00_bcr_FreeTextBox1'].ExecuteCommand('bold');
使字体变为粗体
FTB_API['ctl00_bcr_FreeTextBox1'].ExecuteCommand('italic');
使字体变为斜体
FTB_API['ctl00_bcr_FreeTextBox1'].ExecuteCommand('createlink',null,document.getElementById('LinkUrl').value);"
为文字添加连接
问题1:
我想实现自动保存功能,所以想捕获ftb的onTextchange事件在客户端,如何捕获
官方论坛上给出如下解决方案,我式了不行
Property:
ClientSideTextChanged="CharCount"
OR
ClientSideTextChanged="SetTextBox"
Javascript
functionCharCount(ftb)
{
varhtml=ftb.GetHtml();
varo=document.getElementById('charcnt');
o.value=html.length;
window.status=html.length;
}
functionSetTextBox(ftb)
{
varhtml=ftb.GetHtml();
varo=document.getElementById('textwritten');
o.value=ftb.GetHtml();
}
问题2:
我设置好了ImageGalleryPath,也能弹出ImageGallery,但是默认图片为叉子,如何处理
FreeTextBoxID="FreeTextBox1"runat="server"ImageGalleryPath="/aspnet_client/FreeTextBox/images/"
UseToolbarBackGroundImage="True"ButtonSet="Office2003"ImageGalleryUrl="/aspnet_client/FreeTextBox/ftb.imagegallery.aspx?
rif={0}&cif={0}"
Language="zh-CN"ToolbarLayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,
FontForeColorsMenu|Bold,Italic,Underline,Strikethrough;Superscript,Subscript,RemoveFormat,InsertDate,InsertTime,SelectAll,Preview|JustifyLeft,JustifyRight,JustifyCenter,
JustifyFull;BulletedList,NumberedList,Indent,Outdent;CreateLink,Unlink,InsertImage,
InsertRule,InsertImageFromGallery|Cut,Copy,Paste;Undo,Redo,Print"
Width="700px">
FreeTextBox>
请有过相关经验的高手指点一下
最新版FreeTextBox(版本3.1.6)在ASP.Net2.0中使用简解(提供博客园本地下载)
简介:
对于FreeTextBox(版本3.1.6)在ASP.Net2.0中使用,只需要2个文件:
FreeTextBox.DLL和ftb.imagegallery.aspx
1。
下载最新版FreeTextBox(版本3.1.6),解压
FreeTextBox3.1.6(2006/07/18)
博客园本地下载:
作者网站下载地址:
详细版本有哪些改进和修改历史可以看这里:
FreeTextBox3.1.6(2006/07/18)
*BUG:
Firefoxpostbackproblems(duetoIEspecificcode)
*CHANGE:
createlinknowrequirestexttobeselected
*BUG:
FontSizesMenuListnowfunctionscorrectly
*BUG:
IEuserswouldseethetagpathoftheentiredocument
*BUG:
WordCleanfixfortags
*BUG:
buginFFvs.IEDOMhandlingofextra\ntag
Free版本的收费版本的区别可以看这里:
2。
打开ASP.Net2.0项目,添加引用。
(如果添加过以前版本的FreeTextBox,先删除以前版本的引用)
2.1。
拷贝ftb.imagegallery.aspx到你要使用FreeTextBox的目录(当然可以是其他,但是可能要设置路径)
3。
将FreeTextBox添加到工具栏。
(工具栏〉常规〉选择项〉浏览到DLL文件,添加)
4。
可以将工具栏上的控件拖入到你的页面了
FreeTextBoxID="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">
FreeTextBox>
4.1。
修改ImageGalleryPath属性为你图片的放置目录。
5。
Q&A
5.1。
Q:
怎么不能新建目录,上传文件等?
A:
修改ftb.imagegallery.aspx页面可以做到
ImageGalleryid="ImageGallery1"
SupportFolder="~/aspnet_client/FreeTextBox/"
AllowImageDelete="true"AllowImageUpload="true"
AllowDirectoryCreate="true"AllowDirectoryDelete="true"runat="Server"/>
修改AllowImageDelete等属性
5.2。
Q:
怎么没有看到“从图片库插入图片”这个图标?
A:
修改FreeTextBox/>的ToolbarLayout属性,添加一个InsertImageFromGallery,上面代码的例子就是已经添加好的。
5.3。
Q:
按钮怎么是英文提示?
A:
FreeTextBox/>有个属性叫做Language,把默认的en-US改称zh-CN吧,就是中文简体了,听说这个版本带了25种语言呢。
版本:
FreeTextBox3.1.6ASP.NET1.1
1.下载FreeTextBox3.1.6(released2005/11/08)
2.安装
FreeTextBox3.0以上版本均支持内部模式,即图片资源和javascript都集成在dll中,本文仅探讨内部模式(InternalResources).
1)把FTBv3-1-1\Framework-1.1\FreetextBox.dll拷入bin目录.
2)在项目中添加FreetextBox.dll的dll引用
3)Web.config加入如下代码
1
xmlversion="1.0"encoding="utf-8"?
>
2
3
4
5
6
7
8
3.使用FreeTextBox
1)aspx页面顶上
<%@RegisterTagPrefix="FTB"Namespace="FreeTextBoxControls"Assembly="FreeTextBox"%>
2)调用
FreeTextBoxID="FreeTextBox1"runat="server"ImageGalleryPath="~/upload/"Language="zh-CN"toolbarlayout="ParagraphMenu,FontFacesMenu,FontSizesMenu,FontForeColorsMenu,FontForeColorPicker,FontBackColorsMenu,FontBackColorPicker|InsertRule,InsertDate,InsertTime|Bold,Italic,Underline,Strikethrough,Superscript,Subscript,RemoveFormat|JustifyLeft,JustifyRight,JustifyCenter,JustifyFull;BulletedList,NumberedList,Indent,Outdent;CreateLink,Unlink,InsertImage|InsertImageFromGallery,Preview,SelectAll,WordClean">
FreeTextBox>
3)工具栏皮肤
ToolbarStyleConfiguration=Offoce2003/OfficeXP/Office2000/MAC
4)得到保存编辑的内容
1privatevoidInitializeComponent()
2{
3//指向同一个委托
4this.FreeTextBox1.SaveClick+=newSystem.EventHandlerthis.FreeTextBox1_SaveClick);
5this.Button1.Click+=newSystem.EventHandler(this.FreeTextBox1_SaveClick);
6}
7
8privatevoidFreeTextBox1_SaveClick(objectsender,System.EventArgse)
9{
10divshow.InnerHtml=FreeTextBox1.Text;
11}
5)客户端中检测到有潜在危险的Request.Form值
<%@Pagelanguage="c#"ValidateRequest="false"%>
4图片上传
1)工具栏上添加ImageGallery按钮.
FreeTextBox..ToolbarLayout="..,InsertImageFromGallery,../>
2)拷贝"ftb.imagegallery.aspx"文件到同一目录下
3)FreeTextBox属性设置
ImageGalleryPath="~/image/upload"上传默认路径
ImageGalleryUrl="ftb.imagegallery.aspx?
rif={0}&cif={0}"ftb.imagegallery.aspx的目录,只能用相对目录,不可以用"~"
4)ImageGallery的设置
ftb.imagegallery.aspx文件里
ImageGalleryid="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-astring[]arrayofdirectoriestoallowtheusertonavigatetoward
CurrentImages-aFileInfo[]arrayoffilestheusershouldbeabletoinsert.
建议:
删掉Page_Load事件可以显著回避上传图片不能即时显示的问题.不要重写Page_LoadFreetextbox是一个免费的.netmsHTML编辑器。
这里所用的是免费的freetextbox版本是中文版本1.6.3的汉化的freetextbox。
获得的地址。
其中示例是在内联代码方式下,如果在代码后置下使用Freetextbox呢。
1、首先我们把FreeTextBox.dll文件copy到我们的项目中的bin目录里。
然后在我们的项目里添加新的引用,在添加引用对话框选择项目标签,浏览/选择你的FreeTextBox.dll/打开/确定。
应用就添加完成了。
2、如何获得FreeTextBox.dll中所使用到的名字空间,本中文版本1.6.3有3个名字空间。
usingFreeTextBoxControls;
usingFreeTextBoxControls.Design;
usingFreeTextBoxControls.Common;
可以在引用的FreeTextBox.dll查看对象浏览。
点开树型目录就可以清晰的看到,上面所说的名字空间了。
其他的版本类似可以获得。
3、在ASPx文件添加freetextbox
<%@RegisterTagPrefix="ftb"Namespace="FreeTextBoxControls"Assembly="FreeTextBox"%>
具体的方法和内联一样的。
同时cs文件中会有如下代码:
protectedFreeTextBoxControls.FreeTextBoxFreeTextBox1;产生
添加完后,运行一下就可以看到结果了。
在设计模式下我们还可以查看FreeTextBox属性。
4、如何把FreeTextBox内容写到数据库,我们在ASPx文件中添加一个bottom
其的"
cs文件
protectedvoidmy_add(objectsender,System.EventArgse)
...{
//在此处放置用户代码以初始化页面
Response.Write(FreeTextBox1.Text);
}
此处是输出内容,可以改成我们需要方法。
例子:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="FreeTextBox.aspx.cs"Inherits="FreeTextBox"%>
<%@RegisterValidateRequest="false"TagPrefix="ftb"Namespace="FreeTextBoxControls"Assembly="FreeTextBox"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml>
无标题页
FreeTextBoxid="FreeTextBox1"runat="server"ButtonPath="http:
//localhost:
2131/nettest/images/ftb/office2003/"/>