smhy8187

 

如何解决FreeTextBox中HTMLEncoded文本的Bug

http://www.cnblogs.com/dudu/archive/2004/12/26/1591.html

如何解决FreeTextBox中HTMLEncoded文本的Bug

 当你使用FreeTextBox 1.6.3时,在设计方式下,输入含有hmtl字符("<"或">")的文本时,第一次提交没问题,但当你再编辑该文本,即FreeTextBox在载入时,会将文本中hmtl字符解析为html标记。我下载了FreeTextBox 1.6.4和FreeTextBox 1.6.5,在change.log中都说消除了这个bug, 但我试用时,却发现在输入提交后, FreeTextBox会将"<"、">"转换成奇怪的字符。
 后来, 我在这里找到了解决方法,也就是在FreeTextBox.cs中的WriteDownlevelHtml()中的两处及WriteMshtmlEditor()中的一处,将
FTB.Append(@"<input type=""hidden"" name=""" + base.ID + @""" id=""" + base.ID + @""" value=""" + this.ViewStateText.Replace("\"","&quot;") + @""">");
改为:
FTB.Append(@"<input type=""hidden"" name=""" + base.ID + @""" id=""" + base.ID + @""" value=""" + Page.Server.HtmlEncode(this.ViewStateText) + @""">");
博客园程序中,这个FreeTextBox的Bug已经消除。

posted on 2004-02-25 12:38 dudu 阅读(1310) 评论(4)  编辑  收藏 网摘

评论

# re: 如何解决FreeTextBox中HTMLEncoded文本的Bug 2004-02-25 13:26 Hover

dudu收藏功能 为什么我拿IE MYIE2都不能成功收藏呢!   回复  更多评论   

# re: 如何解决FreeTextBox中HTMLEncoded文本的Bug 2004-02-25 17:03 dudu

在我的电脑上没问题!  回复  更多评论   

# re: 如何解决FreeTextBox中HTMLEncoded文本的Bug 2004-12-26 05:23 小牛哥

我的是破宝的中文汉化版本...
没有测试出你的问题...
你再测试看看?

都不需要修改为Page.Server.HtmlEncode(this.ViewStateText)
-------------
case DownlevelMode.Document:
FTB.Append(this.ViewStateText);
FTB.Append("<input type=\"hidden\" name=\"" + base.ID + "\" id=\"" + base.ID + "\" value=\"" + this.ViewStateText.Replace("\"","&quot;") + "\">");
break;
case DownlevelMode.Message:
FTB.Append(DownlevelMessage);
FTB.Append("<input type=\"hidden\" name=\"" + base.ID + "\" id=\"" + base.ID + "\" value=\"" + this.ViewStateText.Replace("\"","&quot;") + "\">");
break;

posted on 2007-09-10 20:51  new2008  阅读(188)  评论(0编辑  收藏  举报

导航