如何解决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 @ 2004-02-25 12:38  dudu  阅读(1882)  评论(4编辑  收藏  举报