AJAX控件工具包HTMLEditor样式在page_load上被部分剥离

时间:2014-03-27 18:50:48

标签: asp.net ajaxcontroltoolkit

所以我有一个HTMLEditor,它正确地将HTML保存到数据库中,如下所示:

    <span style="color: #ff0000; font-size: 36pt; font-weight: bold;">This is a test</span><span style="color: #ff0000;"><br />
 <br />
 </span><span style="color: #0000ff;">New Line. New ckolor</span>

这会导致大而红的粗体文字显示为#34;这是一个测试&#34;和更小的蓝色粗体文字,内容为&#34; New Line。新的ckolor&#34;。 (它是数据库字段中的所有一行,堆栈溢出奇怪地格式化上面的代码&#34;

保存后,我刷新页面,检查该数据库字段中是否有某些内容,如果有,请将其分配到文本框中:

            if (!string.IsNullOrEmpty(type.TaskDescriptionText))
        {
            tbTaskDescription.Content = type.TaskDescriptionText;
        }

我可以在这里提一个断点并检查。事实上,TaskDescriptionText属性确实仍然具有完整的样式行:style =&#34; color:#ff0000; font-size:36pt; font-weight:bold;&#34;

它被分配给TaskDescription编辑器的.Content属性,但不知何故,当页面加载完成时,只有&#39; style =&#34; color:#ff0000;&#34;&#39;仍然是第一个跨度,&#39; style =&#34;颜色:#0000ff;&#34;&#39;为了第二个。换句话说,样式颜色之后的任何内容都会被剥离,并且不会作为样式添加到元素上。

我搜索了我的整个解决方案,无法找到任何其他服务器端与此框的内容混淆,所以一旦它被分配,它不应该改变!除非html编辑器本身正在做某事?

1 个答案:

答案 0 :(得分:0)

如果我是你,我会在将文本保存到数据库之前对文本进行HTMLEn编码,并在从db中读取文本时对文本进行HTMLDecode。这样可以省去很多问题。