【问题标题】:Storing Rich Text In My Database在我的数据库中存储富文本
【发布时间】:2017-05-07 11:11:39
【问题描述】:

我有一个带有富文本编辑器的网站。但是,在编辑并确保我的更改被保存后,一旦显示内容,它就会失去大部分样式。

例如我可以保存这个:<p style="font-size:22px">Hello world</p>

但是,一旦我从数据库中返回它,我就会得到这个 <p>Hello world</p>,所以我的样式完全丢失了。

我在我的项目中使用 CKEditor、ASP.NET MVC 和 Angular。完成编辑后,模型将作为 JSON 发送到控件。存储信息后,我检查了数据库,它仍然具有我的样式。

一旦我将数据返回到控制器中(当我请求将富文本加载到视图中时),我会检查以确保它仍然具有我的样式,它确实如此。

然后我将其序列化为 JSON(因为富文本是对象的一部分,而我想要整个对象)。

一旦它返回到页面,我的所有样式都消失了。所以我认为JsonConvert.SerializeObject(MyObject) 弄乱了我的内联样式。

谁能帮我弄清楚如何让 Newtonsoft.JSON 不用管我的样式?\

谢谢!

【问题讨论】:

  • 因为我使用 Angular 我在 div 中使用 ng-bind-html="vm.Content"
  • 我建议将此 html 作为字节数组保存到数据库中的 varbinary 形式中。获取时只需打开该字节数组。

标签: angularjs json asp.net-mvc


【解决方案1】:

我想通了,但令人沮丧的是,这与我如何存储数据或序列化数据无关。

事实证明,我必须将$scope.Content = $sce.trustAsHtml(result.SomeData) 添加到我收到的数据中。

添加后,我就得到了正确的样式。

【讨论】:

    猜你喜欢
    • 2020-12-07
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 2013-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多