CKEditor在更新面板中无法正常工作

man*_*987 4 asp.net updatepanel ckeditor

我在asp.net的更新面板中遇到了CKEditor的问题.我在页面上有多个CKEditor的标签控件,即每个标签中有一个ckeditor.

  string scriptAdd = @"var editor = CKEDITOR.instances['ctl00_ContentPlaceHolder1_faqeditor']; if (editor) { editor.destroy(true); } CKEDITOR.replace('ctl00_ContentPlaceHolder1_faqeditor');";
  ScriptManager.RegisterClientScriptBlock(this, typeof(Page), "", scriptAdd, true);
Run Code Online (Sandbox Code Playgroud)

上面的代码片段有助于在更新面板中呈现编辑器.但是当回发完成时,它仍然显示较早的值而不是更改的值,即编辑器不会反映更新面板中更改选项卡后所做的更改.

没有更新面板,同样的事情完全正常.

这个问题有什么解决方案吗?

Cht*_*lek 8

只需强制ckeditor更新textarea:

var ckEditor = CKEDITOR.replace('ctl00_ContentPlaceHolder1_faqeditor');

ckEditor.on("change", function (event) {
    event.editor.updateElement();
});
Run Code Online (Sandbox Code Playgroud)