如何在UpdatePanel中回发后保留TinyMCE

Bru*_*oLM 6 c# asp.net tinymce

当我单击一个导致回发的按钮时,UpdatePanel它会调用tinyMCE.triggerSave().

它重新加载面板并且编辑器再次出现,但是当我tinyMCE.triggerSave()第二次尝试调用时出现以下错误:

g.win.document is null
Run Code Online (Sandbox Code Playgroud)

我虽然得到了旧的实例,但是tinyMCE.execCommand('mceRemoveControl',false,'Editor');在调用save之后我也删除了control().即便如此,它仍然第二次崩溃.

我该如何解决?

Gad*_*ski 6

tinyMCE.execCommand( 'mceRemoveControl',真, '编辑');

在离开UpdatePanel之前,它会强制tinyMCE完全删除,然后当你再次添加时它不会崩溃.


Red*_*Taz 2

经过一番困惑后,我发现@Andr\xc3\xa9 Gadonski发布的修复程序在 TinyMCE 版本 4 中不再起作用。它不仅不起作用,而且没有向控制台提供错误反馈!

\n\n

新命令是mceRemoveEditor

\n\n

来源: http: //www.tinymce.com/forum/viewtopic.php? id=31256

\n\n

我发现这可以在重新初始化 TinyMCE 之前直接使用,也可以在刷新 ASP 更新面板之前使用;

\n\n
var prm = Sys.WebForms.PageRequestManager.getInstance();\nprm.add_beginRequest(BeginRequestHandler);\n\nfunction BeginRequestHandler(sender, args) {\n    tinymce.execCommand(\'mceRemoveEditor\', true, \'EditorID\');\n}\n
Run Code Online (Sandbox Code Playgroud)\n