如何解决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("\"",""") + @""">");
改为:
FTB.Append(@"<input type=""hidden"" name=""" + base.ID + @""" id=""" + base.ID + @""" value=""" + Page.Server.HtmlEncode(this.ViewStateText) + @""">");
博客园程序中,这个FreeTextBox的Bug已经消除。
后来, 我在这里找到了解决方法,也就是在FreeTextBox.cs中的WriteDownlevelHtml()中的两处及WriteMshtmlEditor()中的一处,将
FTB.Append(@"<input type=""hidden"" name=""" + base.ID + @""" id=""" + base.ID + @""" value=""" + this.ViewStateText.Replace("\"",""") + @""">");
改为:
FTB.Append(@"<input type=""hidden"" name=""" + base.ID + @""" id=""" + base.ID + @""" value=""" + Page.Server.HtmlEncode(this.ViewStateText) + @""">");
博客园程序中,这个FreeTextBox的Bug已经消除。
评论
# 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("\"",""") + "\">");
break;
case DownlevelMode.Message:
FTB.Append(DownlevelMessage);
FTB.Append("<input type=\"hidden\" name=\"" + base.ID + "\" id=\"" + base.ID + "\" value=\"" + this.ViewStateText.Replace("\"",""") + "\">");
break;