【发布时间】:2023-03-28 15:08:01
【问题描述】:
所以我有一个 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>
这会导致显示为“这是一个测试”的红色粗体大文本和显示为“新行。新 ccolor”的较小蓝色粗体文本。 (都是数据库字段中的一行,堆栈溢出正在奇怪地格式化上面的代码”
保存后,我刷新页面,并检查该数据库字段中是否有内容,如果有,请将其分配给文本框:
if (!string.IsNullOrEmpty(type.TaskDescriptionText))
{
tbTaskDescription.Content = type.TaskDescriptionText;
}
我可以在这里设置一个断点并检查。 TaskDescriptionText 属性实际上仍然具有完整的样式行:style="color: #ff0000; font-size: 36pt; font-weight: bold;"
它被分配给 TaskDescription 编辑器的 .Content 属性,但不知何故,当页面完成加载时,第一个跨度仅保留 'style="color: #ff0000;"' ,并且 'style="color: #0000ff;"' 第二个。换句话说,样式颜色之后的任何内容都会被剥离,并且不会作为样式添加到元素上。
我搜索了整个解决方案,但找不到与此框内容混淆的任何其他服务器端,因此一旦分配,它就不应该改变!除非 html 编辑器本身在做什么?
【问题讨论】:
-
另外,我想指出,作为测试,我放置了一个从同一数据库字段读取的
标签: asp.net ajaxcontroltoolkit