CKEditor html内容生命周期:asp.net mvc案例

本文关键字:asp net mvc 案例 周期 html 生命 CKEditor | 更新日期: 2023-09-27 18:08:42

我的内容将被编辑多次。所以我需要将结果html存储到数据库,并在必要时再次加载。下面是我当前的start实现:

@using (@Html.BeginForm("EditArticle", "Admin", new { id =  ViewData["id"] }))
{
   <div id="editor"> </div>
   <input type="submit" value="save changes" onclick = "setValue()" />
   <input type ="hidden"  id="value" name="html" />
}
<script>
    var editor, html = 'Model.Text';    
    function createEditor() {
        if (editor)
        return;
    var config = { width:"900px"};
    editor = CKEDITOR.appendTo('editor', config,html);
}
function setValue() {
    $("#value").val(editor.getData());
}
createEditor();
</script>

但我得到错误初始化html变量。所以,谁能展示如何正确编码/解码html?

编辑

这是控制器接收到的数据:

    html = <p>ARTICLE 3</p>'r'n

CKEditor html内容生命周期:asp.net mvc案例

我将这样的值存储在数据库中,并再次尝试插入。

首先,要从语法上修正你的代码,它应该是这样的:

var editor, html = '@Html.Raw(Model.Text)';

然而,与其在JavaScript中处理标记,还得转义和反转义,为什么不直接将其转储到它应该去的地方,即

<textarea name="editor1">@Html.Raw(Model.Text)</textarea>
<script>
    CKEDITOR.replace( 'editor1' );
</script>

然后把那个文本区域转换成ckEditor?根据他们的基本例子:http://docs.ckeditor.com/#!/指导/dev_framed

其次,除此之外,我不确定你的控制器收到了什么错误,所以你必须为我发布进一步的细节,以帮助你超越上述。