将html保存到数据库然后在ASP.NET应用程序的页面上显示的正确方法

时间:2015-05-28 07:56:16

标签: asp.net-mvc razor encoding ckeditor wysiwyg

问题在于编码。

目前,我有以下用户生成的html管道。

通过AngularJS包装器在页面上向用户显示ckeditor WYSIWYG编辑器。

用户输入一些文本,格式化它,这会导致在DOM中生成html。 然后我使用Angular将ckeditors内容POST到ASP.NET MVC Endpoint,其中内容自动包装到动作的字符串参数中。

生成的字符串被分配给Entity Framework Entity对象的字符串属性,并通过DbContext保存到数据库。

然后,为了显示它,我通过DbContext从Db中检索实体,在控制器代码中获取字符串变量中的html,然后将其分配给Razor View的View Model。

在Razor渲染过程中,带有html的模型的字符串属性通过@ Html.Raw(Model.HtmlMarkupPropery)帮助调用放在页面上。

有时候我会看到带有问号而不是西里尔字母(或任何两个字节)字符的钻石,因此我怀疑在此过程中存在一些编码问题。

请告诉我正确编码/解码的位置(如果有的话)。

0 个答案:

没有答案