我将这样的值存储在数据库中,并再次尝试插入。
我的内容将被编辑多次。所以我需要将结果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>rn
首先,要从语法上修正你的代码,它应该是这样的:
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
其次,除此之外,我不确定你的控制器收到了什么错误,所以你必须为我发布进一步的细节,以帮助你超越上述。