html 编码/解码 - ckeditor

2023-12-25

我在 cshtml 页面中使用 ckeditor 将内容输入到我的数据库中,这些内容稍后将显示在带有 html 标签的页面上,以使文本更易于阅读。由于我通过文本区域输入内容,因此收到一条错误消息,指出我正在输入的 html 标签<h1><p>有潜在危险。

为了绕过这个问题而不将请求验证设置为 false,我在 config.js 文件中设置了:

config.htmlEncodeOutput = true;

在我的页面中显示时,我正在解码数据库中的数据。

@Html.Raw(System.Web.HttpUtility.HtmlDecode(row.Memo))

这效果很好。仅当我尝试第二次编辑数据库中的内容时,我才会遇到麻烦。

我在编辑器中显示如下:

<textarea class="ckeditor" id="editor1" name="Memo" rows="25" cols="120">@Memo</textarea>

With @Memo在文本区域中,当前数据库内容显示在编辑器中。问题是,一旦原始文本被编码发送到数据库,我相信当它在编辑器中重新显示时,当它需要解码时,它仍然是编码的。因此,编辑器将编码标签视为文本,并将新标签放置在现有标签周围,这会造成混乱。

任何想法将不胜感激。如果需要更多说明,请告诉我。

Thanks.


在我提交这个问题后,我对此进行了适当的思考。

I used @Html.Raw(System.Web.HttpUtility.HtmlDecode(row.Memo))解码要在页面上显示的数据,所以我能够使用@Html.Raw(System.Web.HttpUtility.HtmlDecode(Memo))代替@Memo在编辑器中显示,这纠正了我的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

html 编码/解码 - ckeditor 的相关文章

随机推荐