我创建了一个带有自定义对话框窗口的插件。
CKEDITOR.plugins.add('imggallery',
{
init: function (editor) {
var pluginName = 'imggallery';
editor.ui.addButton('Image',
{
label: 'Add image',
command: 'OpenWindow',
icon: CKEDITOR.plugins.getPath('imggallery') + 'lightbulb.gif'
});
editor.addCommand('OpenWindow', new CKEDITOR.dialogCommand('simpleLinkDialog'));
var html2 = "<h1>This is a heading</h1>";
CKEDITOR.dialog.add('simpleLinkDialog', function (editor) {
return {
title: 'LinkProperties',
minWidth: 400,
minHeight: 200,
contents:
[
{
id: 'general',
label: 'Settings',
elements:
[
{
type: 'html',
html: html2
}
]
}
]
};
});
}
});
我的问题是:是否有可能以某种方式在窗口内容中显示ASP.MVC视图? 当我将html2分配给elements属性时,文本显示时没有格式化(纯文本)。
答案 0 :(得分:1)
你确定它是纯文本而不是H1格式的格式看起来像纯文本吗?有一个很大的区别:)。 CKE对话框重置了大多数标准浏览器样式,使元素看起来像纯文本,即使它们不是。
对于MVC视图,我建议您在CKE对话框中添加iframe并在那里正常显示页面。然后,您可以使用JavaScript控制或获取/设置iframe中的值。这将有点棘手,但应该有效。
var html2 = '<iframe id="DialogIframe" src="/MyController/MyView?foo=bar"></iframe>';
另一种选择是使用jQuery之类的东西$.get()
HTML然后使用它,如果你之前使用过ajax,应该相对简单。如果没有,这是一个很好的机会! :)