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

时间:2012-01-09 23:00:45

标签: asp.net ckeditor

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

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

这一切都没有帮助 有什么建议?在此先感谢Laziale

2 个答案:

答案 0 :(得分:0)

假设ckeditor正在从textarea字段初始化,您可以简单地填充textarea的主体。

答案 1 :(得分:0)

我不确定您使用的是哪个版本,但我们假设它是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(),而是使用了jQuery $(document).ready(),它只适用于IE。原因是您必须等待加载所有内容才能使用CKEditor API中的函数。我玩Firebug并且 insertHTML 工作了。 如果您使用的是2.x,则可以使用相同的方法在Google的某个位置查看,但使用不同的API。我现在无法找到这个链接。

另一个问题是,你可能会发现,如果你想初始化一个长文本,你将不得不在脚本中编写所有东西,这不是很好。

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

PS。可能你可以使用JavaScript方法和AJAX调用来完成它。

希望这有帮助!