HtmlEncode ckeditor 默认文本

HtmlEncode ckeditor default text

我正在使用 CKEditor 4 处理旧的 ASP.NET WebForms 项目。出于安全原因,我将 CKEditor 设置为 Html 对所有输出进行编码。但是,我注意到如果 textarea 具有应用程序提供的默认文本,除非我进入 textarea 并更改某些内容,否则 CKEditor 似乎不会对值进行编码。因此,如果我做了一些导致回发的事情,比如在页面加载后尝试保存记录,我会从 .NET 收到令人讨厌的页面验证错误。

有没有办法让 ckeditor 认为编辑器已被修改,以便对 HTML 进行编码?或者更好的解决方案?

谢谢

我通过检测 ASP.NET 回发并使用 setData

强制更新编辑器值解决了我的问题
$('input[type="submit"], button[type="submit"], a[href*="__doPostBack"]').on('click', function () {
    $instance.setData($editor.html());
});

这似乎不是最好的方法,但确实有效。

更正,这似乎有效,但仅在初始加载时有效。这似乎有效:

$instance.on('instanceReady', function () {
    $instance.updateElement();
});