Javascript 无法追加或发布CKEditor值

Javascript 无法追加或发布CKEditor值,javascript,jquery,asp.net,asp.net-mvc,ckeditor,Javascript,Jquery,Asp.net,Asp.net Mvc,Ckeditor,我在ASP.NET MVC应用程序中有一个CKEditor,无法追加或发布textarea的更新值,如下所示: <textarea name="Description" id="Description" rows="10" cols="80"> This is my textarea to be replaced with CKEditor. </textarea> <script> CKEDITOR.replace('Description', {

我在ASP.NET MVC应用程序中有一个CKEditor,无法追加或发布textarea的更新值,如下所示:

<textarea name="Description" id="Description" rows="10" cols="80">
    This is my textarea to be replaced with CKEditor.
</textarea>

<script>
CKEDITOR.replace('Description',
{
    filebrowserBrowseUrl: '/....',
    filebrowserUploadUrl: '/....'
});
</script>


function insert(event) {

    event.preventDefault();

    var desc = CKEDITOR.instances['Description'].getData(); //I obtain the updated text at this line
    var formdata = $('#frmCreate').serialize(); 

    formdata.append("Description", desc); //!!! This is not working !!!  

    $.ajax({
        type: "POST",
        url: '@Url.Action("Insert", "Blog")',
        cache: false,
        dataType: "json",
        data: formdata,

        success: function (response, textStatus, XMLHttpRequest) {
            $('#result').html(data);
        }
    });
};
我可以传递模型的textarea DEscription属性的初始值,但在进行任何更改后,数据仍然保留初始值。知道如何将描述字段传递给控制器吗

CKEditor在以传统方式提交表单时自动更新经典提交。如果您使用的是Ajax,则需要使用手动更新


另请参见示例。

您可以始终使用$'Description'.valdata;然后var formdata=$'frmCreate'。序列化;顺便说一句,您的数据类型是:json,但似乎返回的html会引发异常。@StephenMuecke每次都让您大吃一惊,非常感谢!。。只是我需要澄清的一点>>>1在这种情况下,我可以使用$'property'.valdataValue;为了将dataValue附加到我的属性而不是附加方法???2我使用[HttpPost,ValidateInputfalse]来修复内部服务器错误,并成功运行。但是,当尝试使用html或文本作为数据类型时,问题并没有得到解决。有什么想法吗?你还没有展示控制器的方法,所以在第3项上有点难理解。对于第2项,最好在Description属性上使用[AllowHtml]属性。对于第1项,我不熟悉CKEDITOR,因此不确定它为什么不自动更新输入值,但请注意,如果您想在.serialize的输出中“附加”某些内容,则可以使用$.param Reference。但是,在您的情况下,这将不起作用,因为输出中只有Description的第一个值将被DefaultModelBinderThanks绑定很多。。。这是更新CKEditor的快捷方式: