TinyMCE文本区域值不使用表单集合呈现

时间:2016-02-29 11:38:08

标签: javascript model-view-controller tinymce

对于我的asp.net mvc 5应用程序,我使用了TinyMCE文本编辑器。我的应用程序我使用formcollection.serialize方法传递前端值。不幸的是,textarea的内容无法通过formcollection.serialize方法呈现。这是我的代码如下。如果有人能提供帮助,我将感到非常高兴。谢谢:

tinyMCE.init({
            selector: "textarea"           
                
        });


//========Email Button
        
        $("#btnEmail").click(function () {
               tinyMCE.triggerSave(true, true);
        $.ajax({
                    
                    url: '@Url.Action("Email")',
                    type: "POST",
                    data: $('#emailform').serialize(),
                    dataType: "json",
                    traditional: true
            });
        });
<textarea name="emailContent" style="width:100%"></textarea>

1 个答案:

答案 0 :(得分:0)

经过大量的努力,我完全解决了这个问题。我的代码中没有两件事:1。在ajax调用之前的表单提交和2.在我的控制器之上添加属性[Validateinput(false)]。以下是最终解决方案:

 // Controller
[ValidateInput(false)]
public ActionResult Email(FormCollection data)
{
    foreach (var key in data.AllKeys)
    {
        var value = data[key];
    }
   string Content = data["emailContent"];
}

Javascript:
tinyMCE.init({
selector: "textarea"        

});

//========Email Button
$("#btnEmail").click(function () {
tinyMCE.triggerSave(true, true);
    $('#emailform').submit();
    $.ajax({
        url: '@Url.Action("Email")',
        type: "POST",

        data: $("#emailform").serialize(),
        dataType: "json",
        traditional: true

    });
});

//========= HTML
<textarea name="emailContent" style="width:100%"></textarea>