FreeTextBox控件问题大全:希望大家参与

goeasy 2003-10-17 09:14:25
我发现FreeTextBox控件功能很全,但是问题很多,所以希望大家在此贴发表言论,踊跃参与,帮助提前,也希望有经验的朋友提供技巧,谢谢!!!
发现的问题:
1、在客户端插入时间和日期功能不好用,插入不了。但是在站点的机器上运行却可以。
2、在客户端点击插入图片按钮的时候,在upload的时候,显示有错误,图片上载不了。但是在文本录入区鼠标右键的插入图片却可以用。

已解决的问题。
1、控件Button的Image显示不出来:解决方法是将images的文件夹拷贝到你的dll的上一级目录。
2、填加中文字体(拷贝别人的)
1、
你打开FreeTextBox.cs, 285行开始

不过我这重新编译有问题, Common\PostProcessor.cs的一个字符串数组定义是乱码

/// <summary>
/// A list of fonts for the font drop down.
/// </summary>
[
CategoryAttribute("Toolbar Items")
]
public string[] FontFacesMenuList {
get {
object savedState = this.ViewState["FontFacesMenuList"];
return (savedState == null) ?
new string[] {"Arial","Courier New","Garamond","Georgia","Tahoma","Times New Roman","Verdana"} :
(string[]) savedState;
}
set {
ViewState["FontFacesMenuList"] = value;
}
}

我把那行的字符串全删了,就剩一个, 现在已经可以编译了, 差不多全被我改成了中文版 的

2、
以下是在freetextbox中一些控制外观的方法,你可以自己修改一下


//增加字体
public string[] FontFacesMenuList {
get {
object savedState = this.ViewState["FontFacesMenuList"];
return (savedState == null) ?
new string[] {"Arial","Courier New","Garamond","Georgia","Tahoma","Times New Roman","Verdana"} :
(string[]) savedState;
}
set {
ViewState["FontFacesMenuList"] = value;
}
}

//增加字体大小
public string[] FontSizesMenuList {
get {
object savedState = this.ViewState["FontSizesMenuList"];
return (savedState == null) ?
new string[] {"1","2","3","4","5","6"} :
(string[]) savedState;
}
set {
ViewState["FontSizesMenuList"] = value;
}
}

//增加字体颜色
public Color[] FontForeColorsMenuList {
get {
object savedState = this.ViewState["FontForeColorsMenuList"];
return (savedState == null) ?
new Color[] {Color.Black, Color.Gray, Color.DarkGray, Color.LightGray, Color.White, Color.Aquamarine, Color.Blue, Color.Navy, Color.Purple, Color.DeepPink, Color.Violet, Color.Pink, Color.DarkGreen, Color.Green, Color.YellowGreen, Color.Yellow, Color.Orange, Color.Red, Color.Brown, Color.BurlyWood, Color.Beige} :
(Color[]) savedState;
}
set {
ViewState["FontForeColorsMenuList"] = value;
}
}

//增加字体颜色名称

public string[] FontForeColorsMenuNames {
get {
object savedState = this.ViewState["FontForeColorsMenuNames"];
return (savedState == null) ?
new string[] {"Black", "Gray", "DarkGray", "LightGray", "White", "Aquamarine", "Blue", "Navy", "Purple", "DeepPink", "Violet", "Pink", "DarkGreen", "Green", "YellowGreen", "Yellow", "Orange", "Red", "Brown", "BurlyWood", "Beige"} :
(string[]) savedState;
}
set {
ViewState["FontForeColorsMenuNames"] = value;
}
}

//增加背景颜色
public Color[] FontBackColorsMenuList {
get {
object savedState = this.ViewState["FontBackColorsMenuList"];
return (savedState == null) ?
new Color[] {Color.Black, Color.Gray, Color.DarkGray, Color.LightGray, Color.White, Color.Aquamarine, Color.Blue, Color.Navy, Color.Purple, Color.DeepPink, Color.Violet, Color.Pink, Color.DarkGreen, Color.Green, Color.YellowGreen, Color.Yellow, Color.Orange, Color.Red, Color.Brown, Color.BurlyWood, Color.Beige} :
(Color[]) savedState;
}
set {
ViewState["FontBackColorsMenuList"] = value;
}
}

//增加背景颜色名称

public string[] FontBackColorsMenuNames {
get {
object savedState = this.ViewState["FontBackColorsMenuNames"];
return (savedState == null) ?
new string[] {"Black", "Gray", "DarkGray", "LightGray", "White", "Aquamarine", "Blue", "Navy", "Purple", "DeepPink", "Violet", "Pink", "DarkGreen", "Green", "YellowGreen", "Yellow", "Orange", "Red", "Brown", "BurlyWood", "Beige"} :
(string[]) savedState;
}
set {
ViewState["FontBackColorsMenuNames"] = value;
}
}

3、你找到它的源文件工程
找到这个文件“FreeTextBox.cs”,修改下面这一段,然后编译成dll,然后再引用。
我是这样做的。
//////////////////////////////////////////////
public string[] FontFacesMenuList {
get {
object savedState = this.ViewState["FontFacesMenuList"];
return (savedState == null) ?
new string[] {"Arial","Courier New","Garamond","Georgia","Tahoma","Times New Roman","Verdana","宋体","黑体","隶书","楷体_GB2312","幼圆","仿宋_GB2312","方正姚体","方正舒体"} :
(string[]) savedState;
}
set {
ViewState["FontFacesMenuList"] = value;
}
}
4、
case "fontfacesmenu":
myDropDown.Title = FontFacesMenuTitle;
for (int i=0; i<FontFacesMenuList.Length;i++) {
myDropDown.Items.Add(new ToolbarListItem(FontFacesMenuList[i],FontFacesMenuList[i],new Color()));
}
break;
...全文
593 66 打赏 收藏 转发到动态 举报
写回复
用AI写文章
66 条回复
切换为时间正序
请发表友善的回复…
发表回复
begintransaction 2010-05-30
  • 打赏
  • 举报
回复
UP
ahongzhen 2004-01-14
  • 打赏
  • 举报
回复
johnsuna(缘来是e),你好棒!你的书大概什么时候发行,到时通知一声,我一定买一本拜读。请问如果插入word是否支持在其上能粘贴的图片的上传,并能以文件的形式直接保存在数据库相关字段,并在回复页面能显示出来。能行吗?
email:gaozl_hahahaha@yahoo.cm.cn
大可山人 2004-01-14
  • 打赏
  • 举报
回复
楼上:化学方程式、装置图可能均需要做成图片(图片制作方法:可以按PringScreen键拷屏然后在图形处理软件如PHOTOSHOP,FIREWORK等中裁切Crop),然后上传,最后入库等处理,在回复处能再现。
FTB支持所有基于文本格式的粘贴(如记事本、写字板、WORD、网页等),均为选中后复制-粘贴。如果是某网站上粘贴而来,如有图片,FTB支持粘贴网页图片,如果是WORD文件,则会产生问题(可能无法看到,原因是它本身不会自动上传图片)。如果是网页图片,最好的解决方式是编写程序自动下载图片至本地服务器。如果是WORD图片,则需要上传后使用插入图片功能。

这个是我花很长时间才完成的功能(截图):
http://www.lgdaily.com/ftb/ftb5a.aspx
ahongzhen 2004-01-13
  • 打赏
  • 举报
回复
我是个中学化学教师,编辑一化学论坛,想在发贴、回复处,解决化学方程式、装置图能粘贴并上传到服务器,在回复处能再现;请问ftb能支持哪些文件格式的粘贴,并能以文件的形式直接保存在数据库相关字段,并在页面能显示出来。
bsmg 2004-01-12
  • 打赏
  • 举报
回复
有什么意思,只要实现一些常用的功能就可以了,ie中的编辑器永远达不到fg或者dw,主要原因还是效率和需求,操作方便性,不过作为技术练习倒是可以研究的,直接用js写比用空间还方便,要用的地方copy一个,到处可以用,呵呵,不用增加服务器的载荷
大可山人 2004-01-10
  • 打赏
  • 举报
回复
楼上:
收藏夹中收藏。
googoo5100 2004-01-10
  • 打赏
  • 举报
回复
好东西
请问怎么把这一页保存在我的计算机上
veaven 2003-11-28
  • 打赏
  • 举报
回复
我用的这个报错:
分析器错误信息: 程序集 LoadPostData 的类型 FreeTextBoxControls.FreeTextBox 中的方法 LoadPostData 没有实现。

是怎么回事啊,
<%@ Page Language="vb" %>
<%@ Register TagPrefix="ftb" Namespace="FreeTextBoxControls" Assembly="FreeTextBox" %>
<script runat="server">

Sub Page_Load(Sender As Object, e As EventArgs)
If Not Page.IsPostBack
FreeTextBox1.Text = "<P><B><FONT face=arial><FONT size=3><FONT color=green>Free</FONT>TextBox 1.6.3</FONT></B></P><P>作者: <a href=""http://www.freetext.com"" target=""_blank"">John Dyer</a><BR>译者: 破宝<<a href=""mailto:percyboy@800e.net"">percyboy@800e.net</a>></P></FONT>"
FreeTextBox1.AutoConfigure = AutoConfigure.EnableAll
End If
End Sub

</script>
<HTML>
<HEAD>
<title>FreeTextBox 测试</title>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<body>
<form id="Form1" runat="server">
<h2><font color="green">Free</font>TextBox</h2>
<FTB:FreeTextBox id="FreeTextBox1" runat="server" Width="700" />
</form>
</body>
</HTML>
ynnwq 2003-11-27
  • 打赏
  • 举报
回复
UP
goeasy 2003-11-13
  • 打赏
  • 举报
回复
johnsuna(缘来是e) 你的书什么时候出版啊?带源码吗?如果出书的时候是否会告诉大家一声啊,到时候希望Mail:xuqiang@dsideal.com
zhyx21century 2003-11-12
  • 打赏
  • 举报
回复
我假如把上面的屏蔽了也要爆错。。。晕。到底是什么问题哦
这就是报错信息:

D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“object”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“<”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“<”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“:”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“:”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“:”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 无效的表达式项“:”
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 常数中有换行符
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 应输入 ;
D:\Inetpub\wwwroot\复件 (3) FTBvSource\ToolbarControls\ToolbarItems.cs(621): 字符文本中字符太多
zhyx21century 2003-11-11
  • 打赏
  • 举报
回复
加上去就报错 说常数有换行符
zhyx21century 2003-11-11
  • 打赏
  • 举报
回复
是不是在FTBvSource\ToolbarControls\ToolbarItems.cs中写
public static ToolbarButton insertword{
get {
ToolbarButton button = new ToolbarButton("插入word","insertword","FTB_insertword");
button.ScriptBlock = @"<script language=""JavaScript"">
function FTB_InsertTime(editor,htmlmode) {
editor.focus();
******这儿写上面的咚咚*************
}
</script>";
button.ButtonTitleMode = ButtonTitleMode.Selective;
return button;
}
}

然后再FTBvSource\Support\ToolbarGenerator.cs中加上
case "insertword":
return ToolbarItems.insertword;

..................
zhyx21century 2003-11-11
  • 打赏
  • 举报
回复
又是owc
这个东西加在什么地方啊??
大可山人 2003-11-11
  • 打赏
  • 举报
回复
sel = editor.document.selection.createRange();
sel.pasteHTML("<object classid='clsid:0002E510-0000-0000-C000-000000000046' id='Spreadsheet1' codebase='file:\\Bob\software\office2000\msowc.cab' width='100%' height='250'><param name='HTMLURL' value><param name='HTMLData' value='<html xmlns:x="urn:schemas-microsoft-com:office:excel"xmlns="http://www.w3.org/TR/REC-html40"><head><style type="text/css"><!--tr{mso-height-source:auto;}td{black-space:nowrap;}.wc4590F88{black-space:nowrap;font-family:宋体;mso-number-format:General;font-size:auto;font-weight:auto;font-style:auto;text-decoration:auto;mso-background-source:auto;mso-pattern:auto;mso-color-source:auto;text-align:general;vertical-align:bottom;border-top:none;border-left:none;border-right:none;border-bottom:none;mso-protection:locked;}--></style></head><body><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:OWCVersion>9.0.0.2710</x:OWCVersion><x:Label Style='border-top:solid .5pt silver;border-left:solid .5pt silver;border-right:solid .5pt silver;border-bottom:solid .5pt silver'><x:Caption>Microsoft Office Spreadsheet</x:Caption> </x:Label><x:Name>Sheet1</x:Name><x:WorksheetOptions><x:Selected/><x:Height>7620</x:Height>"+
"<x:Width>15240</x:Width><x:TopRowVisible>0</x:TopRowVisible><x:LeftColumnVisible>0</x:LeftColumnVisible> <x:ProtectContents>False</x:ProtectContents> <x:DefaultRowHeight>210</x:DefaultRowHeight> <x:StandardWidth>2389</x:StandardWidth> </x:WorksheetOptions> </x:ExcelWorksheet></x:ExcelWorksheets> <x:MaxHeight>80%</x:MaxHeight><x:MaxWidth>80%</x:MaxWidth></x:ExcelWorkbook></xml><![endif]--><table class=wc4590F88 x:str><col width="56"><tr height="14"><td></td></tr></table></body></html>'> <param name='DataType' value='HTMLDATA'> <param name='AutoFit' value='0'><param name='DisplayColHeaders' value='-1'><param name='DisplayGridlines' value='-1'><param name='DisplayHorizontalScrollBar' value='-1'><param name='DisplayRowHeaders' value='-1'><param name='DisplayTitleBar' value='-1'><param name='DisplayToolbar' value='-1'><param name='DisplayVerticalScrollBar' value='-1'> <param name='EnableAutoCalculate' value='-1'> <param name='EnableEvents' value='-1'><param name='MoveAfterReturn' value='-1'><param name='MoveAfterReturnDirection' value='0'><param name='RightToLeft' value='0'><param name='ViewableRange' value='1:65536'></object>");
zhyx21century 2003-11-11
  • 打赏
  • 举报
回复
厉害。。能不能讲 如何插入WORD、EXCEL
大可山人 2003-11-11
  • 打赏
  • 举报
回复
当然可以分享,不过是在此书出版发行之后。对不起了,由于涉及出版发行问题,所以只好稍候了。如果您有哪方面不太明白的,我愿意尽力解答。
goeasy 2003-11-11
  • 打赏
  • 举报
回复
这个东西当然很有前途,不知道这个朋友能不能把代码给大家分享一下,大家学习学习。

--------
从客户端(FreeTextBox1="<P><B>请在这输入内容</P></B...")中检测到有潜在危险的 Request.Form 值。
--------
这个朋友:你在Web.Config里加入下面代码这个问题就解决了。
<system.web>
<pages validateRequest="false"></pages>
大可山人 2003-11-11
  • 打赏
  • 举报
回复
zhyx21century(不想去编程) :
把上面的换行去掉。
sliva 2003-11-11
  • 打赏
  • 举报
回复
johnsuna(缘来是e),能不能给我一个控件的代码?谢谢了
colezhu@buynow.com.cn
加载更多回复(46)

62,039

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧