几乎所有东西都使用CKEditor插件,剩下的唯一问题是将已经保存到数据库的数据加载到WYSIWYG编辑器中。
如果我在javascript中尝试类似这样的测试,它可以正常工作。
<script>
var value = "<h1>Awesome</h1>";
var config = {};
editor = CKEDITOR.appendTo('editor', config, html);
editor.setData(value);
</script>
因此,这会创建编辑器并实际尝试加载&#34; html&#34;变量,但目前只是空的。
因此,如果我查看我的数据库,我有一个名为Description(nvarchar(max),null)的字段,该字段当前具有此值:<h1>Awesome</h1>
但如果我尝试在Javascript中获取此值,则会出现错误:
Uncaught SyntaxError: Unexpected token ILLEGAL
如果我查看控制台日志,它看起来像这样:
var value = '<h1>Awesome</h1>
Uncaught SyntaxError: Unexpected token ILLEGAL
';
答案 0 :(得分:0)
更新
好的,经过一些实验,我设法创建了一个可行的解决方案。
我为描述
创建了一个隐藏字段@Html.HiddenFor(m => m.Note.Description)
我这样表现出来:
<div id="editorcontents" class="well padding-10">
@Html.Raw(Model.Note.Description)
</div>
当我进入编辑模式时,我隐藏编辑器并从隐藏字段中将值设置到编辑器。
if (editor)
return;
$('#editorcontents').hide();
var config = {};
var html = $('#Note_Description').val();
editor = CKEDITOR.appendTo('editor', config, html);
在我的ajax更新函数的成功方法中,我销毁编辑器并更新隐藏字段中的值。
success: function (data) {
editor.destroy();
editor = null;
$('#Note_Description').val(data[2].Description);
}
所以以某种方式通过Jquery获取值来解决问题。