ckeditor在编辑器asp.net中加载html代码



我正试图在asp.net的CKEditor中加载html文件,但由于某种原因,我不知道如何从代码隐藏文件中放入html代码。

CKEditor1.FilebrowserBrowseUrl = url;
CKEditor1.BasePath = url;
CKEditor1.Text = content;

这些都无济于事有什么建议吗?提前感谢,Laziale

我不确定你使用的是哪个版本,但假设它是3.x。我在玩控件,没有从代码后面找到任何可能的方法。然而,我设法让它像这样工作:

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "fckInitialization", @" 
        window.onload = function () {              
                var oEditor = CKEDITOR.instances['" + txtPost.ClientID + @"'];
                oEditor.insertHtml('<strong>This is a bold text.</strong>');                
        };
        ", true);

我在IE 8和Mozilla的上一个版本(我想是9)中尝试过,它成功了。我也尝试过同样的事情,但我使用了jQuery$(document).ready(),而不是window.onload。它只在IE中工作。原因是为了使用CKEditor API中的函数,您必须等待所有内容加载。我玩了Firebug,插入HTML成功了。如果你正在使用2.x,你可以在谷歌的某个地方看到同样的方法,但使用不同的API。我只是现在找不到链接。

另一个问题是,正如你可能会发现的那样,如果你想初始化一个长文本,你必须用脚本写所有内容,这不是很好。

也许一个可能的解决方案是先将HTML转换为BBCode,然后只设置Text属性。当然,这取决于你使用控件的方式,因为BBCode并不包含所有可能的标签,但你可以随时修改CKEditor的BBCode插件来满足你的需求。我测试了它,它有效。

PS。也许您可以使用JavaScript方法和AJAX调用来完成此操作。

希望这能有所帮助!

假设ckeditor是从文本区域字段初始化的,您可以简单地填充文本区域的主体。

最新更新